From b90a5d9a94baa5a5005863cf10be7b0f2d03b378 Mon Sep 17 00:00:00 2001 From: David Schlosnagle Date: Fri, 10 Apr 2026 15:56:11 +0000 Subject: [PATCH 1/4] Deduplicate TypeMarker, ExceptionDeserializerArgs, and Deserializer fields in generated dialogue interfaces Generated dialogue service interfaces previously created per-endpoint TypeMarker anonymous classes, ExceptionDeserializerArgs instances, and Deserializer fields, causing excessive allocations when multiple endpoints share the same return type. This change modifies DefaultStaticFactoryMethodGenerator to: 1. Generate one `private static final TypeMarker` per distinct return type instead of `new TypeMarker() {}` inline per endpoint. 2. Generate one `private static final ExceptionDeserializerArgs` per distinct return type (error-respecting path), instead of calling createExceptionDeserializerArgs per endpoint. 3. Generate one shared `Deserializer` instance field per distinct return type, referenced by all endpoints with the same return type. For EteServiceBlocking (36 endpoints, 22 distinct return types) this reduces anonymous TypeMarker classes, createExceptionDeserializerArgs calls, and Deserializer allocations from 36 each to 22 each. --- .../DefaultStaticFactoryMethodGenerator.java | 200 ++++++++++++++---- 1 file changed, 154 insertions(+), 46 deletions(-) diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java index da00e6ad1..fd5e14f02 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java @@ -68,9 +68,14 @@ import com.palantir.logsafe.SafeArg; import com.palantir.logsafe.exceptions.SafeIllegalStateException; import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.Set; import javax.lang.model.element.Modifier; public final class DefaultStaticFactoryMethodGenerator implements StaticFactoryMethodGenerator { @@ -109,10 +114,117 @@ public MethodSpec generate(ServiceDefinition def) { .initializer(CodeBlock.of("$L.plainSerDe()", StaticFactoryMethodGenerator.RUNTIME)) .build()); - if (options.generateErrorParameterFormatRespectingDialogueInterfaces()) { + boolean isErrorRespecting = options.generateErrorParameterFormatRespectingDialogueInterfaces(); + + if (isErrorRespecting) { impl.addMethod(createHelperToConstructExceptionDeserializerArgs()); } + // Collect distinct return types across all endpoints to generate shared TypeMarker, + // ExceptionDeserializerArgs, and Deserializer fields rather than per-endpoint duplicates. + Map typeMarkerFields = new LinkedHashMap<>(); + Map exceptionArgsFields = new LinkedHashMap<>(); + Map deserializerFieldNames = new LinkedHashMap<>(); + Map deserializerTypes = new LinkedHashMap<>(); + Map endpointToDeserializerField = new HashMap<>(); + Set usedBaseNames = new HashSet<>(); + + for (EndpointDefinition endpoint : def.getEndpoints()) { + TypeName returnClassName = Primitives.box(returnTypes.baseType(endpoint.getReturns())); + + if (returnTypes.isBinaryOrOptionalBinary(returnClassName) && !isErrorRespecting) { + // Binary types in non-error path use inline deserializers, no field needed + continue; + } + + if (!deserializerFieldNames.containsKey(returnClassName)) { + String baseName = uniqueFieldBaseName(returnClassName, usedBaseNames); + typeMarkerFields.put(returnClassName, baseName + "TypeMarker"); + if (isErrorRespecting) { + exceptionArgsFields.put(returnClassName, baseName + "ExceptionArgs"); + } + deserializerFieldNames.put(returnClassName, baseName + "Deserializer"); + DeserializerType deserType = isErrorRespecting + ? getDeserializerType(endpoint.getReturns(), returnClassName) + : (endpoint.getReturns().isPresent() ? DeserializerType.STANDARD : DeserializerType.EMPTY_BODY); + deserializerTypes.put(returnClassName, deserType); + } + + endpointToDeserializerField.put( + endpoint.getEndpointName().get(), deserializerFieldNames.get(returnClassName)); + } + + // Generate shared static TypeMarker fields (one per distinct return type) + typeMarkerFields.forEach((typeName, fieldName) -> { + DeserializerType deserType = deserializerTypes.get(typeName); + if (!isErrorRespecting && deserType == DeserializerType.EMPTY_BODY) { + // Non-error empty body deserializer does not need a TypeMarker + return; + } + impl.addField( + FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(TypeMarker.class), typeName), fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("new $T<$T>() {}", TypeMarker.class, typeName) + .build()); + }); + + // Generate shared static ExceptionDeserializerArgs fields (error-respecting path only) + exceptionArgsFields.forEach((typeName, fieldName) -> { + impl.addField(FieldSpec.builder( + ParameterizedTypeName.get(ClassName.get(ExceptionDeserializerArgs.class), typeName), + fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("createExceptionDeserializerArgs($L)", typeMarkerFields.get(typeName)) + .build()); + }); + + // Generate shared Deserializer instance fields (one per distinct return type) + deserializerFieldNames.forEach((typeName, fieldName) -> { + ParameterizedTypeName deserializerType = + ParameterizedTypeName.get(ClassName.get(Deserializer.class), typeName); + DeserializerType deserType = deserializerTypes.get(typeName); + CodeBlock initializer; + if (isErrorRespecting) { + String argsField = exceptionArgsFields.get(typeName); + initializer = switch (deserType) { + case STANDARD -> + CodeBlock.of( + "$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, argsField); + case EMPTY_BODY -> + CodeBlock.of( + "$L.bodySerDe().emptyBodyDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case BINARY -> + CodeBlock.of( + "$L.bodySerDe().inputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case OPTIONAL_BINARY -> + CodeBlock.of( + "$L.bodySerDe().optionalInputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + }; + } else { + String tmField = typeMarkerFields.get(typeName); + initializer = switch (deserType) { + case STANDARD -> + CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, tmField); + case EMPTY_BODY -> + CodeBlock.of("$L.bodySerDe().emptyBodyDeserializer()", StaticFactoryMethodGenerator.RUNTIME); + default -> + throw new SafeIllegalStateException( + "Unexpected deserializer type in non-error path", SafeArg.of("type", deserType)); + }; + } + impl.addField(FieldSpec.builder(deserializerType, fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.FINAL) + .initializer(initializer) + .build()); + }); + + // Generate per-endpoint code: serializers, endpoint channels, and method implementations def.getEndpoints().forEach(endpoint -> { endpoint.getArgs().stream() .filter(arg -> arg.getParamType().accept(ParameterTypeVisitor.IS_BODY)) @@ -121,8 +233,7 @@ public MethodSpec generate(ServiceDefinition def) { .ifPresent(impl::addField); impl.addField(bindEndpointChannel(def, endpoint)); - deserializer(endpoint.getEndpointName(), endpoint.getReturns()).ifPresent(impl::addField); - impl.addMethod(clientImpl(endpoint)); + impl.addMethod(clientImpl(endpoint, endpointToDeserializerField)); }); impl.addMethod(DefaultStaticFactoryMethodGenerator.toStringMethod(className)); @@ -179,6 +290,43 @@ private ClassName getClassName(ServiceDefinition def) { return methodType.switchBy(Names.blockingClassName(def, options), Names.asyncClassName(def, options)); } + /** + * Computes a unique camelCase field base name for a given TypeName. If the derived name collides with an + * already-used name, a numeric suffix is appended. + */ + private static String uniqueFieldBaseName(TypeName typeName, Set usedNames) { + String base = typeNameToFieldBase(typeName); + if (usedNames.add(base)) { + return base; + } + for (int i = 2; ; i++) { + String candidate = base + i; + if (usedNames.add(candidate)) { + return candidate; + } + } + } + + private static String typeNameToFieldBase(TypeName typeName) { + if (typeName instanceof ParameterizedTypeName parameterized) { + StringBuilder sb = new StringBuilder(); + String rawName = parameterized.rawType().simpleName(); + sb.append(Character.toLowerCase(rawName.charAt(0))); + sb.append(rawName.substring(1)); + for (TypeName arg : parameterized.typeArguments()) { + String argBase = typeNameToFieldBase(arg); + sb.append(Character.toUpperCase(argBase.charAt(0))); + sb.append(argBase.substring(1)); + } + return sb.toString(); + } else if (typeName instanceof ClassName cn) { + String name = cn.simpleName(); + return Character.toLowerCase(name.charAt(0)) + name.substring(1); + } else { + return "type" + (typeName.hashCode() & 0x7fffffff); + } + } + private FieldSpec bindEndpointChannel(ServiceDefinition def, EndpointDefinition endpoint) { return FieldSpec.builder(ClassName.get(EndpointChannel.class), Names.endpointChannel(endpoint)) .addModifiers(Modifier.PRIVATE, Modifier.FINAL) @@ -206,48 +354,7 @@ private Optional serializer(EndpointName endpointName, Type type) { .build()); } - private Optional deserializer(EndpointName endpointName, Optional type) { - TypeName className = Primitives.box(returnTypes.baseType(type)); - - if (returnTypes.isBinaryOrOptionalBinary(className) - && !options.generateErrorParameterFormatRespectingDialogueInterfaces()) { - return Optional.empty(); - } - - ParameterizedTypeName deserializerType = - ParameterizedTypeName.get(ClassName.get(Deserializer.class), className); - - CodeBlock initializer = CodeBlock.of( - "$L.bodySerDe().$L", - StaticFactoryMethodGenerator.RUNTIME, - options.generateErrorParameterFormatRespectingDialogueInterfaces() - ? constructDeserializerWithExceptions(type, className) - : constructDeserializer(type, className)); - return Optional.of(FieldSpec.builder(deserializerType, endpointName + "Deserializer") - .addModifiers(Modifier.PRIVATE, Modifier.FINAL) - .initializer(initializer) - .build()); - } - - private CodeBlock constructDeserializer(Optional type, TypeName className) { - return type.isPresent() - ? CodeBlock.of("deserializer(new $T<$T>() {})", TypeMarker.class, className) - : CodeBlock.of("emptyBodyDeserializer()"); - } - - private CodeBlock constructDeserializerWithExceptions(Optional type, TypeName className) { - CodeBlock.Builder builder = CodeBlock.builder(); - switch (getDeserializerType(type, className)) { - case STANDARD -> builder.add("deserializer("); - case EMPTY_BODY -> builder.add("emptyBodyDeserializer("); - case BINARY -> builder.add("inputStreamDeserializer("); - case OPTIONAL_BINARY -> builder.add("optionalInputStreamDeserializer("); - } - return builder.add("createExceptionDeserializerArgs(new $T<$T>() {}))", TypeMarker.class, className) - .build(); - } - - private MethodSpec clientImpl(EndpointDefinition def) { + private MethodSpec clientImpl(EndpointDefinition def, Map endpointToDeserializerField) { List params = parameterTypes.implementationMethodParams(def); MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder( def.getEndpointName().get()) @@ -291,7 +398,8 @@ private MethodSpec clientImpl(EndpointDefinition def) { + (returnTypes.isOptionalBinary(returnTypes.baseType(type)) ? ".bodySerDe().optionalInputStreamDeserializer()" : ".bodySerDe().inputStreamDeserializer()")) - .orElseGet(() -> def.getEndpointName().get() + "Deserializer")); + .orElseGet(() -> endpointToDeserializerField.get( + def.getEndpointName().get()))); methodBuilder.addCode(request); if (options.generateErrorParameterFormatRespectingDialogueInterfaces()) { From 52f92758f251f96141c9c9109b61b254bf3cb682 Mon Sep 17 00:00:00 2001 From: David Schlosnagle Date: Fri, 10 Apr 2026 15:56:16 +0000 Subject: [PATCH 2/4] Regenerate integration test expected files --- .../product/EmptyPathServiceAsync.java | 10 +- .../product/EmptyPathServiceBlocking.java | 10 +- .../com/palantir/product/EteServiceAsync.java | 295 ++++++------- .../palantir/product/EteServiceBlocking.java | 301 +++++++------- .../dialogue/test/api/CookieServiceAsync.java | 8 +- .../test/api/CookieServiceBlocking.java | 8 +- .../palantir/product/ErrorServiceAsync.java | 68 +-- .../product/ErrorServiceBlocking.java | 69 ++-- .../product/EmptyPathServiceAsync.java | 13 +- .../product/EmptyPathServiceBlocking.java | 13 +- .../product/EteBinaryServiceAsync.java | 51 ++- .../product/EteBinaryServiceBlocking.java | 55 ++- .../com/palantir/product/EteServiceAsync.java | 380 ++++++++++------- .../palantir/product/EteServiceBlocking.java | 386 +++++++++++------- .../test/api/CookieServiceAsync.java | 13 +- .../test/api/CookieServiceBlocking.java | 13 +- .../palantir/another/TestServiceBlocking.java | 161 ++++---- .../ServiceUsingExternalTypesAsync.java | 11 +- .../ServiceUsingExternalTypesBlocking.java | 11 +- .../palantir/another/TestServiceAsync.java | 160 ++++---- .../palantir/another/TestServiceBlocking.java | 161 ++++---- .../test/api/CookieServiceAsync.java | 8 +- .../test/api/CookieServiceBlocking.java | 8 +- 23 files changed, 1168 insertions(+), 1045 deletions(-) diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java index 1cb0a894e..265eb5012 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java @@ -28,18 +28,20 @@ public interface EmptyPathServiceAsync { /** Creates an asynchronous/non-blocking client for a EmptyPathService service. */ static EmptyPathServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceAsync() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public ListenableFuture emptyPath() { Request.Builder _request = Request.builder(); - return _runtime.clients().call(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().call(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java index 38a0f3426..b24d281ce 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java @@ -27,18 +27,20 @@ public interface EmptyPathServiceBlocking { /** Creates a synchronous/blocking client for a EmptyPathService service. */ static EmptyPathServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceBlocking() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public boolean emptyPath() { Request.Builder _request = Request.builder(); - return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java index 93a903775..1e9aeb7a1 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java @@ -218,112 +218,178 @@ ListenableFuture complexQueryParameters( /** Creates an asynchronous/non-blocking client for a EteService service. */ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceAsync() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample2TypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); + _runtime.bodySerDe().deserializer(stringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongTypeMarker); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierTypeMarker); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeTypeMarker); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longTypeMarker); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongTypeMarker); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleTypeMarker); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); + + private final Deserializer + stringAliasExample2Deserializer = _runtime.bodySerDe().deserializer(stringAliasExample2TypeMarker); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumTypeMarker); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumTypeMarker); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumTypeMarker); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasTypeMarker); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionTypeMarker); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -331,10 +397,6 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(new TypeMarker() {}); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -343,108 +405,59 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public ListenableFuture string(AuthHeader authHeader) { Request.Builder _request = Request.builder(); @@ -463,35 +476,35 @@ public ListenableFuture integer(AuthHeader authHeader) { public ListenableFuture double_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().call(double_Channel, _request.build(), doubleDeserializer); } @Override public ListenableFuture boolean_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().call(boolean_Channel, _request.build(), booleanDeserializer); } @Override public ListenableFuture safelong(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().call(safelongChannel, _request.build(), safeLongDeserializer); } @Override public ListenableFuture rid(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().call(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override public ListenableFuture bearertoken(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().call(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -505,14 +518,14 @@ public ListenableFuture> optionalString(AuthHeader authHeader) public ListenableFuture> optionalEmpty(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override public ListenableFuture datetime(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().call(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -531,7 +544,7 @@ public ListenableFuture path(AuthHeader authHeader, String param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", _plainSerDe.serializeString(param)); - return _runtime.clients().call(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().call(pathChannel, _request.build(), stringDeserializer); } @Override @@ -539,7 +552,7 @@ public ListenableFuture externalLongPath(AuthHeader authHeader, long param Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", Objects.toString(param)); - return _runtime.clients().call(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().call(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -551,10 +564,7 @@ public ListenableFuture> optionalExternalLongQuery( _request.putQueryParams("param", Objects.toString(param.get())); } return _runtime.clients() - .call( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .call(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -563,7 +573,7 @@ public ListenableFuture notNullBody( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodySerializer.serialize(notNullBody)); - return _runtime.clients().call(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients().call(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -572,7 +582,7 @@ public ListenableFuture aliasOne( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", _plainSerDe.serializeString(queryParamName.get())); - return _runtime.clients().call(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients().call(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -585,7 +595,8 @@ public ListenableFuture optionalAliasOne( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); } - return _runtime.clients().call(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + return _runtime.clients() + .call(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -596,7 +607,7 @@ public ListenableFuture aliasTwo( _request.putQueryParams( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); - return _runtime.clients().call(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients().call(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -606,10 +617,7 @@ public ListenableFuture not _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodyExternalImportSerializer.serialize(notNullBody)); return _runtime.clients() - .call( - notNullBodyExternalImportChannel, - _request.build(), - notNullBodyExternalImportDeserializer); + .call(notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); } @Override @@ -623,7 +631,7 @@ public ListenableFuture not .call( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -640,14 +648,14 @@ public ListenableFuture not .call( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override public ListenableFuture noReturn(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(noReturnChannel, _request.build(), noReturnDeserializer); + return _runtime.clients().call(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -655,7 +663,7 @@ public ListenableFuture enumQuery(AuthHeader authHeader, SimpleEnum Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", Objects.toString(queryParamName)); - return _runtime.clients().call(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().call(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -666,7 +674,7 @@ public ListenableFuture> enumListQuery( for (SimpleEnum queryParamNameElement : queryParamName) { _request.putQueryParams("queryParamName", Objects.toString(queryParamNameElement)); } - return _runtime.clients().call(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + return _runtime.clients().call(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -678,7 +686,7 @@ public ListenableFuture> optionalEnumQuery( _request.putQueryParams("queryParamName", Objects.toString(queryParamName.get())); } return _runtime.clients() - .call(optionalEnumQueryChannel, _request.build(), optionalEnumQueryDeserializer); + .call(optionalEnumQueryChannel, _request.build(), optionalSimpleEnumDeserializer); } @Override @@ -686,7 +694,7 @@ public ListenableFuture enumHeader(AuthHeader authHeader, SimpleEnum Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putHeaderParams("Custom-Header", Objects.toString(headerParameter)); - return _runtime.clients().call(enumHeaderChannel, _request.build(), enumHeaderDeserializer); + return _runtime.clients().call(enumHeaderChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -695,7 +703,7 @@ public ListenableFuture jsonErrorsHeader(AuthHeader authHeader, String h _request.putHeaderParams("Authorization", authHeader.toString()); _request.putHeaderParams( "Accept-Conjure-Error-Parameter-Format", _plainSerDe.serializeString(headerParameter)); - return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), jsonErrorsHeaderDeserializer); + return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), stringDeserializer); } @Override @@ -705,10 +713,7 @@ public ListenableFuture errorParameterSerialization(AuthHeader authHeade _request.putHeaderParams( "Accept-Conjure-Error-Parameter-Format", _plainSerDe.serializeString(headerParameter)); return _runtime.clients() - .call( - errorParameterSerializationChannel, - _request.build(), - errorParameterSerializationDeserializer); + .call(errorParameterSerializationChannel, _request.build(), stringDeserializer); } @Override @@ -721,7 +726,7 @@ public ListenableFuture> aliasLongEndpoint( "input", Objects.toString(input.get().get())); } return _runtime.clients() - .call(aliasLongEndpointChannel, _request.build(), aliasLongEndpointDeserializer); + .call(aliasLongEndpointChannel, _request.build(), optionalLongAliasDeserializer); } @Override @@ -743,8 +748,7 @@ public ListenableFuture complexQueryParameters( for (int intsElement : ints) { _request.putQueryParams("ints", _plainSerDe.serializeInteger(intsElement)); } - return _runtime.clients() - .call(complexQueryParametersChannel, _request.build(), complexQueryParametersDeserializer); + return _runtime.clients().call(complexQueryParametersChannel, _request.build(), voidDeserializer); } @Override @@ -752,8 +756,7 @@ public ListenableFuture receiveListOfOptionals(AuthHeader authHeader, List Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfOptionalsSerializer.serialize(value)); - return _runtime.clients() - .call(receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + return _runtime.clients().call(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -761,8 +764,7 @@ public ListenableFuture receiveSetOfOptionals(AuthHeader authHeader, Set receiveListOfStrings(AuthHeader authHeader, List union(AuthHeader authHeader, SimpleUnion va Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(unionSerializer.serialize(value)); - return _runtime.clients().call(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().call(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java index ecdd91f48..113c6ca13 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java @@ -217,112 +217,178 @@ void complexQueryParameters( /** Creates a synchronous/blocking client for a EteService service. */ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceBlocking() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample2TypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); + _runtime.bodySerDe().deserializer(stringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongTypeMarker); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierTypeMarker); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeTypeMarker); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longTypeMarker); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongTypeMarker); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleTypeMarker); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); + + private final Deserializer + stringAliasExample2Deserializer = _runtime.bodySerDe().deserializer(stringAliasExample2TypeMarker); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumTypeMarker); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumTypeMarker); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumTypeMarker); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasTypeMarker); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionTypeMarker); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -330,10 +396,6 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(new TypeMarker() {}); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -342,108 +404,59 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public String string(AuthHeader authHeader) { Request.Builder _request = Request.builder(); @@ -462,35 +475,35 @@ public int integer(AuthHeader authHeader) { public double double_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().callBlocking(double_Channel, _request.build(), doubleDeserializer); } @Override public boolean boolean_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().callBlocking(boolean_Channel, _request.build(), booleanDeserializer); } @Override public SafeLong safelong(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().callBlocking(safelongChannel, _request.build(), safeLongDeserializer); } @Override public ResourceIdentifier rid(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().callBlocking(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override public BearerToken bearertoken(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -506,14 +519,14 @@ public Optional optionalEmpty(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + .callBlocking(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override public OffsetDateTime datetime(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().callBlocking(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -532,7 +545,7 @@ public String path(AuthHeader authHeader, String param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", _plainSerDe.serializeString(param)); - return _runtime.clients().callBlocking(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().callBlocking(pathChannel, _request.build(), stringDeserializer); } @Override @@ -540,8 +553,7 @@ public long externalLongPath(AuthHeader authHeader, long param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", Objects.toString(param)); - return _runtime.clients() - .callBlocking(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().callBlocking(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -552,10 +564,7 @@ public Optional optionalExternalLongQuery(AuthHeader authHeader, Optional< _request.putQueryParams("param", Objects.toString(param.get())); } return _runtime.clients() - .callBlocking( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .callBlocking(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -563,7 +572,8 @@ public StringAliasExample notNullBody(AuthHeader authHeader, StringAliasExample Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodySerializer.serialize(notNullBody)); - return _runtime.clients().callBlocking(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients() + .callBlocking(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -571,7 +581,8 @@ public StringAliasExample aliasOne(AuthHeader authHeader, StringAliasExample que Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", _plainSerDe.serializeString(queryParamName.get())); - return _runtime.clients().callBlocking(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients() + .callBlocking(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -585,7 +596,7 @@ public StringAliasExample optionalAliasOne( _plainSerDe.serializeString(queryParamName.get().get())); } return _runtime.clients() - .callBlocking(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + .callBlocking(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -595,7 +606,8 @@ public NestedStringAliasExample aliasTwo(AuthHeader authHeader, NestedStringAlia _request.putQueryParams( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); - return _runtime.clients().callBlocking(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients() + .callBlocking(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -606,9 +618,7 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm _request.body(notNullBodyExternalImportSerializer.serialize(notNullBody)); return _runtime.clients() .callBlocking( - notNullBodyExternalImportChannel, - _request.build(), - notNullBodyExternalImportDeserializer); + notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); } @Override @@ -621,7 +631,7 @@ public Optional optionalBod .callBlocking( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -636,14 +646,14 @@ public Optional optionalQue .callBlocking( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override public void noReturn(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - _runtime.clients().callBlocking(noReturnChannel, _request.build(), noReturnDeserializer); + _runtime.clients().callBlocking(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -651,7 +661,7 @@ public SimpleEnum enumQuery(AuthHeader authHeader, SimpleEnum queryParamName) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", Objects.toString(queryParamName)); - return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -662,7 +672,7 @@ public List enumListQuery(AuthHeader authHeader, List qu _request.putQueryParams("queryParamName", Objects.toString(queryParamNameElement)); } return _runtime.clients() - .callBlocking(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + .callBlocking(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -673,7 +683,7 @@ public Optional optionalEnumQuery(AuthHeader authHeader, Optional aliasLongEndpoint(AuthHeader authHeader, Optional> Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfOptionalsSerializer.serialize(value)); - _runtime.clients() - .callBlocking( - receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -758,9 +760,7 @@ public void receiveSetOfOptionals(AuthHeader authHeader, Set> v Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveSetOfOptionalsSerializer.serialize(value)); - _runtime.clients() - .callBlocking( - receiveSetOfOptionalsChannel, _request.build(), receiveSetOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveSetOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -768,8 +768,7 @@ public void receiveListOfStrings(AuthHeader authHeader, List value) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfStringsSerializer.serialize(value)); - _runtime.clients() - .callBlocking(receiveListOfStringsChannel, _request.build(), receiveListOfStringsDeserializer); + _runtime.clients().callBlocking(receiveListOfStringsChannel, _request.build(), voidDeserializer); } @Override @@ -777,7 +776,7 @@ public SimpleUnion union(AuthHeader authHeader, SimpleUnion value) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(unionSerializer.serialize(value)); - return _runtime.clients().callBlocking(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().callBlocking(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java index 835e97b78..a649e54bc 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java @@ -30,17 +30,17 @@ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Con return new CookieServiceAsync() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java index 78e6e8cc0..e62ab2aa2 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java @@ -29,17 +29,17 @@ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, return new CookieServiceBlocking() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public void eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java index 21da21dfb..9d827c604 100644 --- a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java @@ -55,63 +55,77 @@ public interface ErrorServiceAsync { /** Creates an asynchronous/non-blocking client for a ErrorService service. */ static ErrorServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ErrorServiceAsync() { + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer stringDeserializer = + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final Serializer testBasicErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBasicErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBasicError); - private final Deserializer testBasicErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testImportedErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testImportedErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testImportedError); - private final Deserializer testImportedErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> testMultipleErrorsAndPackagesSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testMultipleErrorsAndPackagesChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testMultipleErrorsAndPackages); - private final Deserializer testMultipleErrorsAndPackagesDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testEmptyBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testEmptyBodyChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testEmptyBody); - private final Deserializer testEmptyBodyDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBinary); - private final Deserializer testBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testOptionalBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testOptionalBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testOptionalBinary); - private final Deserializer> testOptionalBinaryDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -133,7 +147,7 @@ public ListenableFuture testBasicError(AuthHeader authHeader, boolean sh "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testBasicErrorChannel, _request.build(), testBasicErrorDeserializer); + return _runtime.clients().call(testBasicErrorChannel, _request.build(), stringDeserializer); } @Override @@ -146,8 +160,7 @@ public ListenableFuture testImportedError(AuthHeader authHeader, boolean "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(testImportedErrorChannel, _request.build(), testImportedErrorDeserializer); + return _runtime.clients().call(testImportedErrorChannel, _request.build(), stringDeserializer); } @Override @@ -162,10 +175,7 @@ public ListenableFuture testMultipleErrorsAndPackages( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - testMultipleErrorsAndPackagesChannel, - _request.build(), - testMultipleErrorsAndPackagesDeserializer); + .call(testMultipleErrorsAndPackagesChannel, _request.build(), stringDeserializer); } @Override @@ -178,7 +188,7 @@ public ListenableFuture testEmptyBody(AuthHeader authHeader, boolean shoul "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testEmptyBodyChannel, _request.build(), testEmptyBodyDeserializer); + return _runtime.clients().call(testEmptyBodyChannel, _request.build(), voidDeserializer); } @Override @@ -191,7 +201,7 @@ public ListenableFuture testBinary(AuthHeader authHeader, boolean s "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testBinaryChannel, _request.build(), testBinaryDeserializer); + return _runtime.clients().call(testBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -206,7 +216,7 @@ public ListenableFuture> testOptionalBinary( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(testOptionalBinaryChannel, _request.build(), testOptionalBinaryDeserializer); + .call(testOptionalBinaryChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java index af8993adf..56f12c6e9 100644 --- a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java @@ -56,63 +56,77 @@ public interface ErrorServiceBlocking { /** Creates a synchronous/blocking client for a ErrorService service. */ static ErrorServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ErrorServiceBlocking() { + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer stringDeserializer = + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final Serializer testBasicErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBasicErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBasicError); - private final Deserializer testBasicErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testImportedErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testImportedErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testImportedError); - private final Deserializer testImportedErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> testMultipleErrorsAndPackagesSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testMultipleErrorsAndPackagesChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testMultipleErrorsAndPackages); - private final Deserializer testMultipleErrorsAndPackagesDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testEmptyBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testEmptyBodyChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testEmptyBody); - private final Deserializer testEmptyBodyDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBinary); - private final Deserializer testBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testOptionalBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testOptionalBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testOptionalBinary); - private final Deserializer> testOptionalBinaryDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -134,8 +148,7 @@ public String testBasicError(AuthHeader authHeader, boolean shouldThrowError) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(testBasicErrorChannel, _request.build(), testBasicErrorDeserializer); + return _runtime.clients().callBlocking(testBasicErrorChannel, _request.build(), stringDeserializer); } @Override @@ -148,8 +161,7 @@ public String testImportedError(AuthHeader authHeader, boolean shouldThrowError) "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(testImportedErrorChannel, _request.build(), testImportedErrorDeserializer); + return _runtime.clients().callBlocking(testImportedErrorChannel, _request.build(), stringDeserializer); } @Override @@ -163,10 +175,7 @@ public String testMultipleErrorsAndPackages(AuthHeader authHeader, Optional testOptionalBinary(AuthHeader authHeader, OptionalB _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(testOptionalBinaryChannel, _request.build(), testOptionalBinaryDeserializer); + .callBlocking(testOptionalBinaryChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java index 1a54d7caf..34418440f 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java @@ -29,14 +29,19 @@ public interface EmptyPathServiceAsync { /** Creates an asynchronous/non-blocking client for a EmptyPathService service. */ static EmptyPathServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceAsync() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -55,7 +60,7 @@ public ListenableFuture emptyPath() { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().call(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java index 97febab39..097e6f380 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java @@ -28,14 +28,19 @@ public interface EmptyPathServiceBlocking { /** Creates a synchronous/blocking client for a EmptyPathService service. */ static EmptyPathServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceBlocking() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -54,7 +59,7 @@ public boolean emptyPath() { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java index e3ea94764..9c2f526d5 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java @@ -56,48 +56,43 @@ public interface EteBinaryServiceAsync { /** Creates an asynchronous/non-blocking client for a EteBinaryService service. */ static EteBinaryServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteBinaryServiceAsync() { + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final EndpointChannel postBinaryChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinary); - private final Deserializer postBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel postBinaryThrowsChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinaryThrows); - private final Deserializer postBinaryThrowsDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getOptionalBinaryPresentChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryPresent); - private final Deserializer> getOptionalBinaryPresentDeserializer = - _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getOptionalBinaryEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryEmpty); - private final Deserializer> getOptionalBinaryEmptyDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getBinaryFailureChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getBinaryFailure); - private final Deserializer getBinaryFailureDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getAliasedChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getAliased); - private final Deserializer> getAliasedDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -118,7 +113,7 @@ public ListenableFuture postBinary(AuthHeader authHeader, BinaryReq "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(postBinaryChannel, _request.build(), postBinaryDeserializer); + return _runtime.clients().call(postBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -133,7 +128,7 @@ public ListenableFuture postBinaryThrows( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(postBinaryThrowsChannel, _request.build(), postBinaryThrowsDeserializer); + return _runtime.clients().call(postBinaryThrowsChannel, _request.build(), inputStreamDeserializer); } @Override @@ -146,7 +141,7 @@ public ListenableFuture> getOptionalBinaryPresent(AuthHead _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(getOptionalBinaryPresentChannel, _request.build(), getOptionalBinaryPresentDeserializer); + .call(getOptionalBinaryPresentChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -159,7 +154,7 @@ public ListenableFuture> getOptionalBinaryEmpty(AuthHeader _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(getOptionalBinaryEmptyChannel, _request.build(), getOptionalBinaryEmptyDeserializer); + .call(getOptionalBinaryEmptyChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -174,7 +169,7 @@ public ListenableFuture getBinaryFailure( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(getBinaryFailureChannel, _request.build(), getBinaryFailureDeserializer); + return _runtime.clients().call(getBinaryFailureChannel, _request.build(), inputStreamDeserializer); } @Override @@ -186,7 +181,7 @@ public ListenableFuture> getAliased(AuthHeader authHeader) "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(getAliasedChannel, _request.build(), getAliasedDeserializer); + return _runtime.clients().call(getAliasedChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java index b4523ac4f..c9555a98d 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java @@ -59,48 +59,43 @@ public interface EteBinaryServiceBlocking { /** Creates a synchronous/blocking client for a EteBinaryService service. */ static EteBinaryServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteBinaryServiceBlocking() { + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final EndpointChannel postBinaryChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinary); - private final Deserializer postBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel postBinaryThrowsChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinaryThrows); - private final Deserializer postBinaryThrowsDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getOptionalBinaryPresentChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryPresent); - private final Deserializer> getOptionalBinaryPresentDeserializer = - _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getOptionalBinaryEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryEmpty); - private final Deserializer> getOptionalBinaryEmptyDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getBinaryFailureChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getBinaryFailure); - private final Deserializer getBinaryFailureDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getAliasedChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getAliased); - private final Deserializer> getAliasedDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -121,7 +116,7 @@ public InputStream postBinary(AuthHeader authHeader, BinaryRequestBody body) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(postBinaryChannel, _request.build(), postBinaryDeserializer); + return _runtime.clients().callBlocking(postBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -136,7 +131,7 @@ public InputStream postBinaryThrows(AuthHeader authHeader, int bytesToRead, Bina _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(postBinaryThrowsChannel, _request.build(), postBinaryThrowsDeserializer); + .callBlocking(postBinaryThrowsChannel, _request.build(), inputStreamDeserializer); } @Override @@ -150,9 +145,7 @@ public Optional getOptionalBinaryPresent(AuthHeader authHeader) { } return _runtime.clients() .callBlocking( - getOptionalBinaryPresentChannel, - _request.build(), - getOptionalBinaryPresentDeserializer); + getOptionalBinaryPresentChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -165,8 +158,7 @@ public Optional getOptionalBinaryEmpty(AuthHeader authHeader) { _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking( - getOptionalBinaryEmptyChannel, _request.build(), getOptionalBinaryEmptyDeserializer); + .callBlocking(getOptionalBinaryEmptyChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -181,7 +173,7 @@ public InputStream getBinaryFailure(AuthHeader authHeader, int numBytes, boolean _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(getBinaryFailureChannel, _request.build(), getBinaryFailureDeserializer); + .callBlocking(getBinaryFailureChannel, _request.build(), inputStreamDeserializer); } @Override @@ -193,7 +185,8 @@ public Optional getAliased(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(getAliasedChannel, _request.build(), getAliasedDeserializer); + return _runtime.clients() + .callBlocking(getAliasedChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java index f4033d8fd..60cfe66b2 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java @@ -219,115 +219,255 @@ ListenableFuture complexQueryParameters( /** Creates an asynchronous/non-blocking client for a EteService service. */ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceAsync() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample2TypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs integerExceptionArgs = + createExceptionDeserializerArgs(integerTypeMarker); + + private static final ExceptionDeserializerArgs doubleExceptionArgs = + createExceptionDeserializerArgs(doubleTypeMarker); + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + + private static final ExceptionDeserializerArgs safeLongExceptionArgs = + createExceptionDeserializerArgs(safeLongTypeMarker); + + private static final ExceptionDeserializerArgs resourceIdentifierExceptionArgs = + createExceptionDeserializerArgs(resourceIdentifierTypeMarker); + + private static final ExceptionDeserializerArgs bearerTokenExceptionArgs = + createExceptionDeserializerArgs(bearerTokenTypeMarker); + + private static final ExceptionDeserializerArgs> optionalStringExceptionArgs = + createExceptionDeserializerArgs(optionalStringTypeMarker); + + private static final ExceptionDeserializerArgs offsetDateTimeExceptionArgs = + createExceptionDeserializerArgs(offsetDateTimeTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs longExceptionArgs = + createExceptionDeserializerArgs(longTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongExceptionArgs = + createExceptionDeserializerArgs(optionalLongTypeMarker); + + private static final ExceptionDeserializerArgs stringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(stringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + nestedStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + stringAliasExample2ExceptionArgs = createExceptionDeserializerArgs(stringAliasExample2TypeMarker); + + private static final ExceptionDeserializerArgs< + Optional> + optionalStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(optionalStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs simpleEnumExceptionArgs = + createExceptionDeserializerArgs(simpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> listSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(listSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(optionalSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongAliasExceptionArgs = + createExceptionDeserializerArgs(optionalLongAliasTypeMarker); + + private static final ExceptionDeserializerArgs simpleUnionExceptionArgs = + createExceptionDeserializerArgs(simpleUnionTypeMarker); + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerExceptionArgs); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleExceptionArgs); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongExceptionArgs); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierExceptionArgs); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenExceptionArgs); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringExceptionArgs); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longExceptionArgs); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongExceptionArgs); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleExceptionArgs); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); + + private final Deserializer + stringAliasExample2Deserializer = + _runtime.bodySerDe().deserializer(stringAliasExample2ExceptionArgs); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumExceptionArgs); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumExceptionArgs); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumExceptionArgs); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasExceptionArgs); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionExceptionArgs); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); - private final Deserializer binaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -335,11 +475,6 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker() {})); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -348,110 +483,59 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -495,7 +579,7 @@ public ListenableFuture double_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().call(double_Channel, _request.build(), doubleDeserializer); } @Override @@ -507,7 +591,7 @@ public ListenableFuture boolean_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().call(boolean_Channel, _request.build(), booleanDeserializer); } @Override @@ -519,7 +603,7 @@ public ListenableFuture safelong(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().call(safelongChannel, _request.build(), safeLongDeserializer); } @Override @@ -531,7 +615,7 @@ public ListenableFuture rid(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().call(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override @@ -543,7 +627,7 @@ public ListenableFuture bearertoken(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().call(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -567,7 +651,7 @@ public ListenableFuture> optionalEmpty(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override @@ -579,7 +663,7 @@ public ListenableFuture datetime(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().call(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -591,7 +675,7 @@ public ListenableFuture binary(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(binaryChannel, _request.build(), binaryDeserializer); + return _runtime.clients().call(binaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -604,7 +688,7 @@ public ListenableFuture path(AuthHeader authHeader, String param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().call(pathChannel, _request.build(), stringDeserializer); } @Override @@ -617,7 +701,7 @@ public ListenableFuture externalLongPath(AuthHeader authHeader, long param "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().call(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -634,10 +718,7 @@ public ListenableFuture> optionalExternalLongQuery( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .call(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -651,7 +732,7 @@ public ListenableFuture notNullBody( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients().call(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -665,7 +746,7 @@ public ListenableFuture aliasOne( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients().call(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -683,7 +764,8 @@ public ListenableFuture optionalAliasOne( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + return _runtime.clients() + .call(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -699,7 +781,7 @@ public ListenableFuture aliasTwo( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients().call(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -714,10 +796,7 @@ public ListenableFuture not _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - notNullBodyExternalImportChannel, - _request.build(), - notNullBodyExternalImportDeserializer); + .call(notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); } @Override @@ -736,7 +815,7 @@ public ListenableFuture not .call( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -758,7 +837,7 @@ public ListenableFuture not .call( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -770,7 +849,7 @@ public ListenableFuture noReturn(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(noReturnChannel, _request.build(), noReturnDeserializer); + return _runtime.clients().call(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -783,7 +862,7 @@ public ListenableFuture enumQuery(AuthHeader authHeader, SimpleEnum "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().call(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -799,7 +878,7 @@ public ListenableFuture> enumListQuery( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + return _runtime.clients().call(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -816,7 +895,7 @@ public ListenableFuture> optionalEnumQuery( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(optionalEnumQueryChannel, _request.build(), optionalEnumQueryDeserializer); + .call(optionalEnumQueryChannel, _request.build(), optionalSimpleEnumDeserializer); } @Override @@ -829,7 +908,7 @@ public ListenableFuture enumHeader(AuthHeader authHeader, SimpleEnum "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumHeaderChannel, _request.build(), enumHeaderDeserializer); + return _runtime.clients().call(enumHeaderChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -843,7 +922,7 @@ public ListenableFuture jsonErrorsHeader(AuthHeader authHeader, String h "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), jsonErrorsHeaderDeserializer); + return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), stringDeserializer); } @Override @@ -858,10 +937,7 @@ public ListenableFuture errorParameterSerialization(AuthHeader authHeade _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - errorParameterSerializationChannel, - _request.build(), - errorParameterSerializationDeserializer); + .call(errorParameterSerializationChannel, _request.build(), stringDeserializer); } @Override @@ -879,7 +955,7 @@ public ListenableFuture> aliasLongEndpoint( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(aliasLongEndpointChannel, _request.build(), aliasLongEndpointDeserializer); + .call(aliasLongEndpointChannel, _request.build(), optionalLongAliasDeserializer); } @Override @@ -906,8 +982,7 @@ public ListenableFuture complexQueryParameters( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(complexQueryParametersChannel, _request.build(), complexQueryParametersDeserializer); + return _runtime.clients().call(complexQueryParametersChannel, _request.build(), voidDeserializer); } @Override @@ -920,8 +995,7 @@ public ListenableFuture receiveListOfOptionals(AuthHeader authHeader, List "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + return _runtime.clients().call(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -934,8 +1008,7 @@ public ListenableFuture receiveSetOfOptionals(AuthHeader authHeader, Set receiveListOfStrings(AuthHeader authHeader, List union(AuthHeader authHeader, SimpleUnion va "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().call(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java index 37d42f6ea..37d2faf73 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java @@ -218,115 +218,255 @@ void complexQueryParameters( /** Creates a synchronous/blocking client for a EteService service. */ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceBlocking() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample2TypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs integerExceptionArgs = + createExceptionDeserializerArgs(integerTypeMarker); + + private static final ExceptionDeserializerArgs doubleExceptionArgs = + createExceptionDeserializerArgs(doubleTypeMarker); + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + + private static final ExceptionDeserializerArgs safeLongExceptionArgs = + createExceptionDeserializerArgs(safeLongTypeMarker); + + private static final ExceptionDeserializerArgs resourceIdentifierExceptionArgs = + createExceptionDeserializerArgs(resourceIdentifierTypeMarker); + + private static final ExceptionDeserializerArgs bearerTokenExceptionArgs = + createExceptionDeserializerArgs(bearerTokenTypeMarker); + + private static final ExceptionDeserializerArgs> optionalStringExceptionArgs = + createExceptionDeserializerArgs(optionalStringTypeMarker); + + private static final ExceptionDeserializerArgs offsetDateTimeExceptionArgs = + createExceptionDeserializerArgs(offsetDateTimeTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs longExceptionArgs = + createExceptionDeserializerArgs(longTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongExceptionArgs = + createExceptionDeserializerArgs(optionalLongTypeMarker); + + private static final ExceptionDeserializerArgs stringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(stringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + nestedStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + stringAliasExample2ExceptionArgs = createExceptionDeserializerArgs(stringAliasExample2TypeMarker); + + private static final ExceptionDeserializerArgs< + Optional> + optionalStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(optionalStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs simpleEnumExceptionArgs = + createExceptionDeserializerArgs(simpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> listSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(listSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(optionalSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongAliasExceptionArgs = + createExceptionDeserializerArgs(optionalLongAliasTypeMarker); + + private static final ExceptionDeserializerArgs simpleUnionExceptionArgs = + createExceptionDeserializerArgs(simpleUnionTypeMarker); + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerExceptionArgs); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleExceptionArgs); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongExceptionArgs); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierExceptionArgs); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenExceptionArgs); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringExceptionArgs); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longExceptionArgs); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongExceptionArgs); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleExceptionArgs); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); + + private final Deserializer + stringAliasExample2Deserializer = + _runtime.bodySerDe().deserializer(stringAliasExample2ExceptionArgs); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumExceptionArgs); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumExceptionArgs); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumExceptionArgs); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasExceptionArgs); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionExceptionArgs); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); - private final Deserializer binaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -334,11 +474,6 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker() {})); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -347,110 +482,59 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -494,7 +578,7 @@ public double double_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().callBlocking(double_Channel, _request.build(), doubleDeserializer); } @Override @@ -506,7 +590,7 @@ public boolean boolean_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().callBlocking(boolean_Channel, _request.build(), booleanDeserializer); } @Override @@ -518,7 +602,7 @@ public SafeLong safelong(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().callBlocking(safelongChannel, _request.build(), safeLongDeserializer); } @Override @@ -530,7 +614,7 @@ public ResourceIdentifier rid(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().callBlocking(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override @@ -542,7 +626,7 @@ public BearerToken bearertoken(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -568,7 +652,7 @@ public Optional optionalEmpty(AuthHeader authHeader) { _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + .callBlocking(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override @@ -580,7 +664,7 @@ public OffsetDateTime datetime(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().callBlocking(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -592,7 +676,7 @@ public InputStream binary(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(binaryChannel, _request.build(), binaryDeserializer); + return _runtime.clients().callBlocking(binaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -605,7 +689,7 @@ public String path(AuthHeader authHeader, String param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().callBlocking(pathChannel, _request.build(), stringDeserializer); } @Override @@ -618,8 +702,7 @@ public long externalLongPath(AuthHeader authHeader, long param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().callBlocking(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -635,10 +718,7 @@ public Optional optionalExternalLongQuery(AuthHeader authHeader, Optional< _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .callBlocking(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -651,7 +731,8 @@ public StringAliasExample notNullBody(AuthHeader authHeader, StringAliasExample "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients() + .callBlocking(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -664,7 +745,8 @@ public StringAliasExample aliasOne(AuthHeader authHeader, StringAliasExample que "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients() + .callBlocking(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -683,7 +765,7 @@ public StringAliasExample optionalAliasOne( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + .callBlocking(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -698,7 +780,8 @@ public NestedStringAliasExample aliasTwo(AuthHeader authHeader, NestedStringAlia "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients() + .callBlocking(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -714,9 +797,7 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm } return _runtime.clients() .callBlocking( - notNullBodyExternalImportChannel, - _request.build(), - notNullBodyExternalImportDeserializer); + notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); } @Override @@ -734,7 +815,7 @@ public Optional optionalBod .callBlocking( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -754,7 +835,7 @@ public Optional optionalQue .callBlocking( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -766,7 +847,7 @@ public void noReturn(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients().callBlocking(noReturnChannel, _request.build(), noReturnDeserializer); + _runtime.clients().callBlocking(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -779,7 +860,7 @@ public SimpleEnum enumQuery(AuthHeader authHeader, SimpleEnum queryParamName) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -795,7 +876,7 @@ public List enumListQuery(AuthHeader authHeader, List qu _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + .callBlocking(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -811,7 +892,7 @@ public Optional optionalEnumQuery(AuthHeader authHeader, Optional aliasLongEndpoint(AuthHeader authHeader, Optional> "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking( - receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -931,9 +1004,7 @@ public void receiveSetOfOptionals(AuthHeader authHeader, Set> v "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking( - receiveSetOfOptionalsChannel, _request.build(), receiveSetOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveSetOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -946,8 +1017,7 @@ public void receiveListOfStrings(AuthHeader authHeader, List value) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking(receiveListOfStringsChannel, _request.build(), receiveListOfStringsDeserializer); + _runtime.clients().callBlocking(receiveListOfStringsChannel, _request.build(), voidDeserializer); } @Override @@ -960,7 +1030,7 @@ public SimpleUnion union(AuthHeader authHeader, SimpleUnion value) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().callBlocking(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java index 36c92aef7..edc4ad7fb 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java @@ -32,14 +32,19 @@ public interface CookieServiceAsync { /** Creates an asynchronous/non-blocking client for a CookieService service. */ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new CookieServiceAsync() { + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -59,7 +64,7 @@ public ListenableFuture eatCookies(BearerToken token) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java index 2e7ee2fea..710b669a4 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java @@ -31,14 +31,19 @@ public interface CookieServiceBlocking { /** Creates a synchronous/blocking client for a CookieService service. */ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new CookieServiceBlocking() { + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -58,7 +63,7 @@ public void eatCookies(BearerToken token) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java b/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java index df308a663..07cc20277 100644 --- a/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java @@ -178,29 +178,71 @@ void testNoResponseQueryParams( /** Creates a synchronous/blocking client for a TestService service. */ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceBlocking() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -213,117 +255,69 @@ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Co private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public Map getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + .callBlocking(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -332,8 +326,7 @@ public Dataset createDataset(AuthHeader authHeader, String testHeaderArg, Create _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients() - .callBlocking(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().callBlocking(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -341,7 +334,8 @@ public Optional getDataset(AuthHeader authHeader, ResourceIdentifier da Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients() + .callBlocking(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -386,7 +380,7 @@ public AliasedString getAliasedString(AuthHeader authHeader, ResourceIdentifier _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + .callBlocking(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -394,7 +388,7 @@ public void uploadRawData(AuthHeader authHeader, BinaryRequestBody input) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -402,8 +396,7 @@ public void uploadAliasedRawData(AuthHeader authHeader, BinaryRequestBody input) Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients() - .callBlocking(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + _runtime.clients().callBlocking(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -411,7 +404,7 @@ public Set getBranches(AuthHeader authHeader, ResourceIdentifier dataset Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -421,8 +414,7 @@ public Set getBranchesDeprecated(AuthHeader authHeader, ResourceIdentifi _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + .callBlocking(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -432,10 +424,7 @@ public Set getBranchesDeprecatedForRemoval(AuthHeader authHeader, Resour _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .callBlocking(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -445,7 +434,7 @@ public Optional resolveBranch(AuthHeader authHeader, ResourceIdentifier _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); return _runtime.clients() - .callBlocking(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + .callBlocking(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -453,7 +442,7 @@ public Optional testParam(AuthHeader authHeader, ResourceIdentifier data Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().callBlocking(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -479,8 +468,7 @@ public int testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .callBlocking(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().callBlocking(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -506,32 +494,28 @@ public void testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - _runtime.clients() - .callBlocking( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + _runtime.clients().callBlocking(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public boolean testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public double testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public int testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -540,7 +524,7 @@ public Optional testPostOptional(AuthHeader authHeader, Optional _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); return _runtime.clients() - .callBlocking(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + .callBlocking(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -555,10 +539,7 @@ public void testOptionalIntegerAndDouble( _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } _runtime.clients() - .callBlocking( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + .callBlocking(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -570,7 +551,7 @@ public void getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - _runtime.clients().callBlocking(getForStringsChannel, _request.build(), getForStringsDeserializer); + _runtime.clients().callBlocking(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java index 218786792..d9b3b9b3e 100644 --- a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java +++ b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java @@ -31,23 +31,26 @@ public interface ServiceUsingExternalTypesAsync { /** Creates an asynchronous/non-blocking client for a ServiceUsingExternalTypes service. */ static ServiceUsingExternalTypesAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ServiceUsingExternalTypesAsync() { + private static final TypeMarker> mapStringStringTypeMarker = + new TypeMarker>() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringStringDeserializer = + _runtime.bodySerDe().deserializer(mapStringStringTypeMarker); + private final Serializer> externalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel externalChannel = _endpointChannelFactory.endpoint(DialogueServiceUsingExternalTypesEndpoints.external); - private final Deserializer> externalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - @Override public ListenableFuture> external(String path, List body) { Request.Builder _request = Request.builder(); _request.putPathParams("path", _plainSerDe.serializeString(path)); _request.body(externalSerializer.serialize(body)); - return _runtime.clients().call(externalChannel, _request.build(), externalDeserializer); + return _runtime.clients().call(externalChannel, _request.build(), mapStringStringDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java index 67cef41c1..0cda667b5 100644 --- a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java +++ b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java @@ -31,23 +31,26 @@ public interface ServiceUsingExternalTypesBlocking { static ServiceUsingExternalTypesBlocking of( EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ServiceUsingExternalTypesBlocking() { + private static final TypeMarker> mapStringStringTypeMarker = + new TypeMarker>() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringStringDeserializer = + _runtime.bodySerDe().deserializer(mapStringStringTypeMarker); + private final Serializer> externalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel externalChannel = _endpointChannelFactory.endpoint(DialogueServiceUsingExternalTypesEndpoints.external); - private final Deserializer> externalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - @Override public Map external(String path, List body) { Request.Builder _request = Request.builder(); _request.putPathParams("path", _plainSerDe.serializeString(path)); _request.body(externalSerializer.serialize(body)); - return _runtime.clients().callBlocking(externalChannel, _request.build(), externalDeserializer); + return _runtime.clients().callBlocking(externalChannel, _request.build(), mapStringStringDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java index 84376eb0a..569dde227 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java @@ -181,29 +181,71 @@ ListenableFuture getForStrings( /** Creates an asynchronous/non-blocking client for a TestService service. */ static TestServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceAsync() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -216,116 +258,69 @@ static TestServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conju private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture> getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + return _runtime.clients() + .call(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -335,7 +330,7 @@ public ListenableFuture createDataset( _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients().call(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().call(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -344,7 +339,7 @@ public ListenableFuture> getDataset( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients().call(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -391,7 +386,7 @@ public ListenableFuture getAliasedString( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + return _runtime.clients().call(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -399,7 +394,7 @@ public ListenableFuture uploadRawData(AuthHeader authHeader, BinaryRequest Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - return _runtime.clients().call(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + return _runtime.clients().call(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -407,8 +402,7 @@ public ListenableFuture uploadAliasedRawData(AuthHeader authHeader, Binary Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - return _runtime.clients() - .call(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + return _runtime.clients().call(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -416,7 +410,7 @@ public ListenableFuture> getBranches(AuthHeader authHeader, Resource Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().call(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -426,8 +420,7 @@ public ListenableFuture> getBranchesDeprecated( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients() - .call(getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + return _runtime.clients().call(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -438,10 +431,7 @@ public ListenableFuture> getBranchesDeprecatedForRemoval( _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .call( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .call(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -451,7 +441,7 @@ public ListenableFuture> resolveBranch( _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); - return _runtime.clients().call(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + return _runtime.clients().call(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -459,7 +449,7 @@ public ListenableFuture> testParam(AuthHeader authHeader, Resou Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().call(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -485,7 +475,7 @@ public ListenableFuture testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients().call(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().call(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -511,32 +501,28 @@ public ListenableFuture testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .call( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + return _runtime.clients().call(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public ListenableFuture testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().call(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public ListenableFuture testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().call(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public ListenableFuture testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().call(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -545,7 +531,7 @@ public ListenableFuture> testPostOptional( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); - return _runtime.clients().call(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + return _runtime.clients().call(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -559,11 +545,7 @@ public ListenableFuture testOptionalIntegerAndDouble( if (maybeDouble.isPresent()) { _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } - return _runtime.clients() - .call( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + return _runtime.clients().call(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -575,7 +557,7 @@ public ListenableFuture getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - return _runtime.clients().call(getForStringsChannel, _request.build(), getForStringsDeserializer); + return _runtime.clients().call(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java index ded99ecc3..f39322431 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java @@ -178,29 +178,71 @@ void testNoResponseQueryParams( /** Creates a synchronous/blocking client for a TestService service. */ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceBlocking() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -213,117 +255,69 @@ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Co private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public Map getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + .callBlocking(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -332,8 +326,7 @@ public Dataset createDataset(AuthHeader authHeader, String testHeaderArg, Create _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients() - .callBlocking(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().callBlocking(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -341,7 +334,8 @@ public Optional getDataset(AuthHeader authHeader, ResourceIdentifier da Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients() + .callBlocking(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -386,7 +380,7 @@ public AliasedString getAliasedString(AuthHeader authHeader, ResourceIdentifier _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + .callBlocking(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -394,7 +388,7 @@ public void uploadRawData(AuthHeader authHeader, BinaryRequestBody input) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -402,8 +396,7 @@ public void uploadAliasedRawData(AuthHeader authHeader, BinaryRequestBody input) Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients() - .callBlocking(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + _runtime.clients().callBlocking(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -411,7 +404,7 @@ public Set getBranches(AuthHeader authHeader, ResourceIdentifier dataset Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -421,8 +414,7 @@ public Set getBranchesDeprecated(AuthHeader authHeader, ResourceIdentifi _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + .callBlocking(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -432,10 +424,7 @@ public Set getBranchesDeprecatedForRemoval(AuthHeader authHeader, Resour _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .callBlocking(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -445,7 +434,7 @@ public Optional resolveBranch(AuthHeader authHeader, ResourceIdentifier _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); return _runtime.clients() - .callBlocking(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + .callBlocking(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -453,7 +442,7 @@ public Optional testParam(AuthHeader authHeader, ResourceIdentifier data Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().callBlocking(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -479,8 +468,7 @@ public int testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .callBlocking(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().callBlocking(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -506,32 +494,28 @@ public void testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - _runtime.clients() - .callBlocking( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + _runtime.clients().callBlocking(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public boolean testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public double testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public int testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -540,7 +524,7 @@ public Optional testPostOptional(AuthHeader authHeader, Optional _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); return _runtime.clients() - .callBlocking(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + .callBlocking(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -555,10 +539,7 @@ public void testOptionalIntegerAndDouble( _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } _runtime.clients() - .callBlocking( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + .callBlocking(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -570,7 +551,7 @@ public void getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - _runtime.clients().callBlocking(getForStringsChannel, _request.build(), getForStringsDeserializer); + _runtime.clients().callBlocking(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java index f02385029..2fc667fcc 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java @@ -30,17 +30,17 @@ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Con return new CookieServiceAsync() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java index a92e5169b..feace1c5f 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java @@ -29,17 +29,17 @@ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, return new CookieServiceBlocking() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public void eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override From 7876a18d80bc91ac2beba90394724c3f75528c30 Mon Sep 17 00:00:00 2001 From: David Schlosnagle Date: Fri, 10 Apr 2026 12:22:33 -0400 Subject: [PATCH 3/4] Reduce cyclomatic complexity in DefaultStaticFactoryMethodGenerator.generate() Refactored the generate() method by extracting logic into smaller, focused methods to improve maintainability and reduce complexity. --- .../DefaultStaticFactoryMethodGenerator.java | 168 +++++++++++------- 1 file changed, 106 insertions(+), 62 deletions(-) diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java index fd5e14f02..a81b21cba 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java @@ -120,8 +120,29 @@ public MethodSpec generate(ServiceDefinition def) { impl.addMethod(createHelperToConstructExceptionDeserializerArgs()); } - // Collect distinct return types across all endpoints to generate shared TypeMarker, - // ExceptionDeserializerArgs, and Deserializer fields rather than per-endpoint duplicates. + ReturnTypeFieldsContext context = collectReturnTypeFields(def, isErrorRespecting); + generateTypeMarkerFields(impl, context, isErrorRespecting); + generateExceptionArgsFields(impl, context); + generateDeserializerFields(impl, context, isErrorRespecting); + generateEndpointImplementations(impl, def, context.endpointToDeserializerField); + + impl.addMethod(DefaultStaticFactoryMethodGenerator.toStringMethod(className)); + + String javadoc = methodType.switchBy( + "Creates a synchronous/blocking client for a $L service.", + "Creates an " + "asynchronous/non-blocking client for a $L service."); + MethodSpec method = MethodSpec.methodBuilder("of") + .addModifiers(Modifier.STATIC, Modifier.PUBLIC) + .addJavadoc(javadoc, def.getServiceName().getName()) + .returns(className) + .addParameter(EndpointChannelFactory.class, StaticFactoryMethodGenerator.ENDPOINT_CHANNEL_FACTORY) + .addParameter(ConjureRuntime.class, StaticFactoryMethodGenerator.RUNTIME) + .addCode(CodeBlock.builder().add("return $L;", impl.build()).build()) + .build(); + return method; + } + + private ReturnTypeFieldsContext collectReturnTypeFields(ServiceDefinition def, boolean isErrorRespecting) { Map typeMarkerFields = new LinkedHashMap<>(); Map exceptionArgsFields = new LinkedHashMap<>(); Map deserializerFieldNames = new LinkedHashMap<>(); @@ -154,9 +175,18 @@ public MethodSpec generate(ServiceDefinition def) { endpoint.getEndpointName().get(), deserializerFieldNames.get(returnClassName)); } - // Generate shared static TypeMarker fields (one per distinct return type) - typeMarkerFields.forEach((typeName, fieldName) -> { - DeserializerType deserType = deserializerTypes.get(typeName); + return new ReturnTypeFieldsContext( + typeMarkerFields, + exceptionArgsFields, + deserializerFieldNames, + deserializerTypes, + endpointToDeserializerField); + } + + private void generateTypeMarkerFields( + TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + context.typeMarkerFields.forEach((typeName, fieldName) -> { + DeserializerType deserType = context.deserializerTypes.get(typeName); if (!isErrorRespecting && deserType == DeserializerType.EMPTY_BODY) { // Non-error empty body deserializer does not need a TypeMarker return; @@ -167,64 +197,72 @@ public MethodSpec generate(ServiceDefinition def) { .initializer("new $T<$T>() {}", TypeMarker.class, typeName) .build()); }); + } - // Generate shared static ExceptionDeserializerArgs fields (error-respecting path only) - exceptionArgsFields.forEach((typeName, fieldName) -> { + private void generateExceptionArgsFields(TypeSpec.Builder impl, ReturnTypeFieldsContext context) { + context.exceptionArgsFields.forEach((typeName, fieldName) -> { impl.addField(FieldSpec.builder( ParameterizedTypeName.get(ClassName.get(ExceptionDeserializerArgs.class), typeName), fieldName) .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) - .initializer("createExceptionDeserializerArgs($L)", typeMarkerFields.get(typeName)) + .initializer("createExceptionDeserializerArgs($L)", context.typeMarkerFields.get(typeName)) .build()); }); + } - // Generate shared Deserializer instance fields (one per distinct return type) - deserializerFieldNames.forEach((typeName, fieldName) -> { + private void generateDeserializerFields( + TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + context.deserializerFieldNames.forEach((typeName, fieldName) -> { ParameterizedTypeName deserializerType = ParameterizedTypeName.get(ClassName.get(Deserializer.class), typeName); - DeserializerType deserType = deserializerTypes.get(typeName); - CodeBlock initializer; - if (isErrorRespecting) { - String argsField = exceptionArgsFields.get(typeName); - initializer = switch (deserType) { - case STANDARD -> - CodeBlock.of( - "$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, argsField); - case EMPTY_BODY -> - CodeBlock.of( - "$L.bodySerDe().emptyBodyDeserializer($L)", - StaticFactoryMethodGenerator.RUNTIME, - argsField); - case BINARY -> - CodeBlock.of( - "$L.bodySerDe().inputStreamDeserializer($L)", - StaticFactoryMethodGenerator.RUNTIME, - argsField); - case OPTIONAL_BINARY -> - CodeBlock.of( - "$L.bodySerDe().optionalInputStreamDeserializer($L)", - StaticFactoryMethodGenerator.RUNTIME, - argsField); - }; - } else { - String tmField = typeMarkerFields.get(typeName); - initializer = switch (deserType) { - case STANDARD -> - CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, tmField); - case EMPTY_BODY -> - CodeBlock.of("$L.bodySerDe().emptyBodyDeserializer()", StaticFactoryMethodGenerator.RUNTIME); - default -> - throw new SafeIllegalStateException( - "Unexpected deserializer type in non-error path", SafeArg.of("type", deserType)); - }; - } + DeserializerType deserType = context.deserializerTypes.get(typeName); + CodeBlock initializer = createDeserializerInitializer(deserType, typeName, context, isErrorRespecting); impl.addField(FieldSpec.builder(deserializerType, fieldName) .addModifiers(Modifier.PRIVATE, Modifier.FINAL) .initializer(initializer) .build()); }); + } - // Generate per-endpoint code: serializers, endpoint channels, and method implementations + private CodeBlock createDeserializerInitializer( + DeserializerType deserType, TypeName typeName, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + if (isErrorRespecting) { + String argsField = context.exceptionArgsFields.get(typeName); + return switch (deserType) { + case STANDARD -> + CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, argsField); + case EMPTY_BODY -> + CodeBlock.of( + "$L.bodySerDe().emptyBodyDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case BINARY -> + CodeBlock.of( + "$L.bodySerDe().inputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case OPTIONAL_BINARY -> + CodeBlock.of( + "$L.bodySerDe().optionalInputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + }; + } else { + String tmField = context.typeMarkerFields.get(typeName); + return switch (deserType) { + case STANDARD -> + CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, tmField); + case EMPTY_BODY -> + CodeBlock.of("$L.bodySerDe().emptyBodyDeserializer()", StaticFactoryMethodGenerator.RUNTIME); + default -> + throw new SafeIllegalStateException( + "Unexpected deserializer type in non-error path", SafeArg.of("type", deserType)); + }; + } + } + + private void generateEndpointImplementations( + TypeSpec.Builder impl, ServiceDefinition def, Map endpointToDeserializerField) { def.getEndpoints().forEach(endpoint -> { endpoint.getArgs().stream() .filter(arg -> arg.getParamType().accept(ParameterTypeVisitor.IS_BODY)) @@ -235,21 +273,6 @@ public MethodSpec generate(ServiceDefinition def) { impl.addField(bindEndpointChannel(def, endpoint)); impl.addMethod(clientImpl(endpoint, endpointToDeserializerField)); }); - - impl.addMethod(DefaultStaticFactoryMethodGenerator.toStringMethod(className)); - - String javadoc = methodType.switchBy( - "Creates a synchronous/blocking client for a $L service.", - "Creates an " + "asynchronous/non-blocking client for a $L service."); - MethodSpec method = MethodSpec.methodBuilder("of") - .addModifiers(Modifier.STATIC, Modifier.PUBLIC) - .addJavadoc(javadoc, def.getServiceName().getName()) - .returns(className) - .addParameter(EndpointChannelFactory.class, StaticFactoryMethodGenerator.ENDPOINT_CHANNEL_FACTORY) - .addParameter(ConjureRuntime.class, StaticFactoryMethodGenerator.RUNTIME) - .addCode(CodeBlock.builder().add("return $L;", impl.build()).build()) - .build(); - return method; } private ClassName getTypeMarkersClass(ErrorDefinition errorDef) { @@ -649,6 +672,27 @@ private enum DeserializerType { OPTIONAL_BINARY; } + private static final class ReturnTypeFieldsContext { + private final Map typeMarkerFields; + private final Map exceptionArgsFields; + private final Map deserializerFieldNames; + private final Map deserializerTypes; + private final Map endpointToDeserializerField; + + ReturnTypeFieldsContext( + Map typeMarkerFields, + Map exceptionArgsFields, + Map deserializerFieldNames, + Map deserializerTypes, + Map endpointToDeserializerField) { + this.typeMarkerFields = typeMarkerFields; + this.exceptionArgsFields = exceptionArgsFields; + this.deserializerFieldNames = deserializerFieldNames; + this.deserializerTypes = deserializerTypes; + this.endpointToDeserializerField = endpointToDeserializerField; + } + } + private DeserializerType getDeserializerType(Optional type, TypeName className) { if (type.isEmpty()) { return DeserializerType.EMPTY_BODY; From f1bea45b8d7bba264600ee26e5601febc7f06d70 Mon Sep 17 00:00:00 2001 From: David Schlosnagle Date: Fri, 10 Apr 2026 15:24:53 -0400 Subject: [PATCH 4/4] Use record for ReturnTypeFieldsContext, CaseFormat for type name conversion, and deterministic hashing for deconfliction - Convert ReturnTypeFieldsContext from class to record for conciseness - Use Guava CaseFormat for converting type names instead of manual character manipulation - Use deterministic Guava Hashing (murmur3_32_fixed) with base-36 encoding for deconflicting field names instead of sequential numeric suffixes - Regenerate integration test expected files to reflect the new field naming --- .../com/palantir/product/EteServiceAsync.java | 10 +- .../palantir/product/EteServiceBlocking.java | 9 +- .../com/palantir/product/EteServiceAsync.java | 14 ++- .../palantir/product/EteServiceBlocking.java | 13 ++- .../DefaultStaticFactoryMethodGenerator.java | 92 +++++++++---------- 5 files changed, 72 insertions(+), 66 deletions(-) diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java index 1e9aeb7a1..9a792c652 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java @@ -251,7 +251,7 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur new TypeMarker() {}; private static final TypeMarker - stringAliasExample2TypeMarker = + stringAliasExample1pxrnbvTypeMarker = new TypeMarker() {}; private static final TypeMarker> @@ -313,7 +313,8 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); private final Deserializer - stringAliasExample2Deserializer = _runtime.bodySerDe().deserializer(stringAliasExample2TypeMarker); + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvTypeMarker); private final Deserializer> optionalStringAliasExampleDeserializer = @@ -617,7 +618,10 @@ public ListenableFuture not _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodyExternalImportSerializer.serialize(notNullBody)); return _runtime.clients() - .call(notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); + .call( + notNullBodyExternalImportChannel, + _request.build(), + stringAliasExample1pxrnbvDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java index 113c6ca13..3568f181b 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java @@ -250,7 +250,7 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con new TypeMarker() {}; private static final TypeMarker - stringAliasExample2TypeMarker = + stringAliasExample1pxrnbvTypeMarker = new TypeMarker() {}; private static final TypeMarker> @@ -312,7 +312,8 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); private final Deserializer - stringAliasExample2Deserializer = _runtime.bodySerDe().deserializer(stringAliasExample2TypeMarker); + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvTypeMarker); private final Deserializer> optionalStringAliasExampleDeserializer = @@ -618,7 +619,9 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm _request.body(notNullBodyExternalImportSerializer.serialize(notNullBody)); return _runtime.clients() .callBlocking( - notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); + notNullBodyExternalImportChannel, + _request.build(), + stringAliasExample1pxrnbvDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java index 60cfe66b2..e74a662f9 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java @@ -254,7 +254,7 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur new TypeMarker() {}; private static final TypeMarker - stringAliasExample2TypeMarker = + stringAliasExample1pxrnbvTypeMarker = new TypeMarker() {}; private static final TypeMarker> @@ -320,7 +320,8 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); private static final ExceptionDeserializerArgs - stringAliasExample2ExceptionArgs = createExceptionDeserializerArgs(stringAliasExample2TypeMarker); + stringAliasExample1pxrnbvExceptionArgs = + createExceptionDeserializerArgs(stringAliasExample1pxrnbvTypeMarker); private static final ExceptionDeserializerArgs< Optional> @@ -390,8 +391,8 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); private final Deserializer - stringAliasExample2Deserializer = - _runtime.bodySerDe().deserializer(stringAliasExample2ExceptionArgs); + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvExceptionArgs); private final Deserializer> optionalStringAliasExampleDeserializer = @@ -796,7 +797,10 @@ public ListenableFuture not _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); + .call( + notNullBodyExternalImportChannel, + _request.build(), + stringAliasExample1pxrnbvDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java index 37d2faf73..e8e2f1da4 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java @@ -253,7 +253,7 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con new TypeMarker() {}; private static final TypeMarker - stringAliasExample2TypeMarker = + stringAliasExample1pxrnbvTypeMarker = new TypeMarker() {}; private static final TypeMarker> @@ -319,7 +319,8 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); private static final ExceptionDeserializerArgs - stringAliasExample2ExceptionArgs = createExceptionDeserializerArgs(stringAliasExample2TypeMarker); + stringAliasExample1pxrnbvExceptionArgs = + createExceptionDeserializerArgs(stringAliasExample1pxrnbvTypeMarker); private static final ExceptionDeserializerArgs< Optional> @@ -389,8 +390,8 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); private final Deserializer - stringAliasExample2Deserializer = - _runtime.bodySerDe().deserializer(stringAliasExample2ExceptionArgs); + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvExceptionArgs); private final Deserializer> optionalStringAliasExampleDeserializer = @@ -797,7 +798,9 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm } return _runtime.clients() .callBlocking( - notNullBodyExternalImportChannel, _request.build(), stringAliasExample2Deserializer); + notNullBodyExternalImportChannel, + _request.build(), + stringAliasExample1pxrnbvDeserializer); } @Override diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java index a81b21cba..a0d60b1ad 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java @@ -15,7 +15,9 @@ */ package com.palantir.conjure.java.services.dialogue; +import com.google.common.base.CaseFormat; import com.google.common.collect.ImmutableMap; +import com.google.common.hash.Hashing; import com.palantir.conjure.java.Options; import com.palantir.conjure.java.api.errors.ConjureErrorParameterFormats; import com.palantir.conjure.java.services.Auth; @@ -124,14 +126,14 @@ public MethodSpec generate(ServiceDefinition def) { generateTypeMarkerFields(impl, context, isErrorRespecting); generateExceptionArgsFields(impl, context); generateDeserializerFields(impl, context, isErrorRespecting); - generateEndpointImplementations(impl, def, context.endpointToDeserializerField); + generateEndpointImplementations(impl, def, context.endpointToDeserializerField()); impl.addMethod(DefaultStaticFactoryMethodGenerator.toStringMethod(className)); String javadoc = methodType.switchBy( "Creates a synchronous/blocking client for a $L service.", - "Creates an " + "asynchronous/non-blocking client for a $L service."); - MethodSpec method = MethodSpec.methodBuilder("of") + "Creates an asynchronous/non-blocking client for a $L service."); + return MethodSpec.methodBuilder("of") .addModifiers(Modifier.STATIC, Modifier.PUBLIC) .addJavadoc(javadoc, def.getServiceName().getName()) .returns(className) @@ -139,7 +141,6 @@ public MethodSpec generate(ServiceDefinition def) { .addParameter(ConjureRuntime.class, StaticFactoryMethodGenerator.RUNTIME) .addCode(CodeBlock.builder().add("return $L;", impl.build()).build()) .build(); - return method; } private ReturnTypeFieldsContext collectReturnTypeFields(ServiceDefinition def, boolean isErrorRespecting) { @@ -183,10 +184,10 @@ private ReturnTypeFieldsContext collectReturnTypeFields(ServiceDefinition def, b endpointToDeserializerField); } - private void generateTypeMarkerFields( + private static void generateTypeMarkerFields( TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { - context.typeMarkerFields.forEach((typeName, fieldName) -> { - DeserializerType deserType = context.deserializerTypes.get(typeName); + context.typeMarkerFields().forEach((typeName, fieldName) -> { + DeserializerType deserType = context.deserializerTypes().get(typeName); if (!isErrorRespecting && deserType == DeserializerType.EMPTY_BODY) { // Non-error empty body deserializer does not need a TypeMarker return; @@ -199,23 +200,25 @@ private void generateTypeMarkerFields( }); } - private void generateExceptionArgsFields(TypeSpec.Builder impl, ReturnTypeFieldsContext context) { - context.exceptionArgsFields.forEach((typeName, fieldName) -> { + private static void generateExceptionArgsFields(TypeSpec.Builder impl, ReturnTypeFieldsContext context) { + context.exceptionArgsFields().forEach((typeName, fieldName) -> { impl.addField(FieldSpec.builder( ParameterizedTypeName.get(ClassName.get(ExceptionDeserializerArgs.class), typeName), fieldName) .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) - .initializer("createExceptionDeserializerArgs($L)", context.typeMarkerFields.get(typeName)) + .initializer( + "createExceptionDeserializerArgs($L)", + context.typeMarkerFields().get(typeName)) .build()); }); } - private void generateDeserializerFields( + private static void generateDeserializerFields( TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { - context.deserializerFieldNames.forEach((typeName, fieldName) -> { + context.deserializerFieldNames().forEach((typeName, fieldName) -> { ParameterizedTypeName deserializerType = ParameterizedTypeName.get(ClassName.get(Deserializer.class), typeName); - DeserializerType deserType = context.deserializerTypes.get(typeName); + DeserializerType deserType = context.deserializerTypes().get(typeName); CodeBlock initializer = createDeserializerInitializer(deserType, typeName, context, isErrorRespecting); impl.addField(FieldSpec.builder(deserializerType, fieldName) .addModifiers(Modifier.PRIVATE, Modifier.FINAL) @@ -224,10 +227,10 @@ private void generateDeserializerFields( }); } - private CodeBlock createDeserializerInitializer( + private static CodeBlock createDeserializerInitializer( DeserializerType deserType, TypeName typeName, ReturnTypeFieldsContext context, boolean isErrorRespecting) { if (isErrorRespecting) { - String argsField = context.exceptionArgsFields.get(typeName); + String argsField = context.exceptionArgsFields().get(typeName); return switch (deserType) { case STANDARD -> CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, argsField); @@ -248,7 +251,7 @@ private CodeBlock createDeserializerInitializer( argsField); }; } else { - String tmField = context.typeMarkerFields.get(typeName); + String tmField = context.typeMarkerFields().get(typeName); return switch (deserType) { case STANDARD -> CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, tmField); @@ -315,38 +318,41 @@ private ClassName getClassName(ServiceDefinition def) { /** * Computes a unique camelCase field base name for a given TypeName. If the derived name collides with an - * already-used name, a numeric suffix is appended. + * already-used name, a deterministic hash suffix is appended. */ private static String uniqueFieldBaseName(TypeName typeName, Set usedNames) { String base = typeNameToFieldBase(typeName); if (usedNames.add(base)) { return base; } - for (int i = 2; ; i++) { - String candidate = base + i; - if (usedNames.add(candidate)) { - return candidate; - } - } + String candidate = base + deterministicHash(typeName); + usedNames.add(candidate); + return candidate; + } + + private static String deterministicHash(TypeName typeName) { + // Use deterministic hash to deconflict colliding names + return Integer.toUnsignedString( + Hashing.murmur3_32_fixed() + .hashUnencodedChars(typeName.toString()) + .asInt(), + 36); } private static String typeNameToFieldBase(TypeName typeName) { if (typeName instanceof ParameterizedTypeName parameterized) { StringBuilder sb = new StringBuilder(); String rawName = parameterized.rawType().simpleName(); - sb.append(Character.toLowerCase(rawName.charAt(0))); - sb.append(rawName.substring(1)); + sb.append(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, rawName)); for (TypeName arg : parameterized.typeArguments()) { String argBase = typeNameToFieldBase(arg); - sb.append(Character.toUpperCase(argBase.charAt(0))); - sb.append(argBase.substring(1)); + sb.append(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, argBase)); } return sb.toString(); } else if (typeName instanceof ClassName cn) { - String name = cn.simpleName(); - return Character.toLowerCase(name.charAt(0)) + name.substring(1); + return CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, cn.simpleName()); } else { - return "type" + (typeName.hashCode() & 0x7fffffff); + return "type" + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, deterministicHash(typeName)); } } @@ -672,26 +678,12 @@ private enum DeserializerType { OPTIONAL_BINARY; } - private static final class ReturnTypeFieldsContext { - private final Map typeMarkerFields; - private final Map exceptionArgsFields; - private final Map deserializerFieldNames; - private final Map deserializerTypes; - private final Map endpointToDeserializerField; - - ReturnTypeFieldsContext( - Map typeMarkerFields, - Map exceptionArgsFields, - Map deserializerFieldNames, - Map deserializerTypes, - Map endpointToDeserializerField) { - this.typeMarkerFields = typeMarkerFields; - this.exceptionArgsFields = exceptionArgsFields; - this.deserializerFieldNames = deserializerFieldNames; - this.deserializerTypes = deserializerTypes; - this.endpointToDeserializerField = endpointToDeserializerField; - } - } + private record ReturnTypeFieldsContext( + Map typeMarkerFields, + Map exceptionArgsFields, + Map deserializerFieldNames, + Map deserializerTypes, + Map endpointToDeserializerField) {} private DeserializerType getDeserializerType(Optional type, TypeName className) { if (type.isEmpty()) {