Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import com.squareup.javapoet.TypeSpec;
import com.squareup.javapoet.TypeVariableName;
import com.squareup.javapoet.WildcardTypeName;
import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -42,6 +41,7 @@
import software.amazon.awssdk.codegen.poet.PoetUtils;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.endpoints.Endpoint;
import software.amazon.awssdk.endpoints.EndpointUrl;
import software.amazon.awssdk.utils.CompletableFutureUtils;
import software.amazon.awssdk.utils.Logger;
import software.amazon.awssdk.utils.Validate;
Expand Down Expand Up @@ -127,7 +127,7 @@ private MethodSpec valueAsEndpointOrThrowMethodSpec() {
.addStatement("$T endpoint = $N.expectEndpoint()",
endpointRulesSpecUtils.rulesRuntimeClassName("Value.Endpoint"), valueParamName)
.addStatement("$T builder = Endpoint.builder()", Endpoint.Builder.class)
.addStatement("builder.url($T.create(endpoint.getUrl()))", URI.class)
.addStatement("builder.endpointUrl($T.fromString(endpoint.getUrl()))", EndpointUrl.class)
.addStatement("$T headers = endpoint.getHeaders()",
ParameterizedTypeName.get(ClassName.get(Map.class),
TypeName.get(String.class),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.CodeBlock;
import java.net.URI;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
Expand All @@ -29,7 +28,7 @@
import software.amazon.awssdk.awscore.endpoints.authscheme.SigV4aAuthScheme;
import software.amazon.awssdk.codegen.model.config.customization.KeyTypePair;
import software.amazon.awssdk.endpoints.Endpoint;
import software.amazon.awssdk.utils.uri.SdkUri;
import software.amazon.awssdk.endpoints.EndpointUrl;

public class CodeGeneratorVisitor extends WalkRuleExpressionVisitor {
private static final Logger log = LoggerFactory.getLogger(CodeGeneratorVisitor.class);
Expand All @@ -39,20 +38,17 @@ public class CodeGeneratorVisitor extends WalkRuleExpressionVisitor {
private final SymbolTable symbolTable;
private final Map<String, KeyTypePair> knownEndpointAttributes;
private final Map<String, ComputeScopeTree.Scope> ruleIdToScope;
private final boolean endpointCaching;

public CodeGeneratorVisitor(RuleRuntimeTypeMirror typeMirror,
SymbolTable symbolTable,
Map<String, KeyTypePair> knownEndpointAttributes,
Map<String, ComputeScopeTree.Scope> ruleIdToScope,
boolean endpointCaching,
CodeBlock.Builder builder) {
this.builder = builder;
this.symbolTable = symbolTable;
this.knownEndpointAttributes = knownEndpointAttributes;
this.ruleIdToScope = ruleIdToScope;
this.typeMirror = typeMirror;
this.endpointCaching = endpointCaching;
}

@Override
Expand Down Expand Up @@ -333,11 +329,7 @@ private String callParams(String ruleId) {
@Override
public Void visitEndpointExpression(EndpointExpression e) {
builder.add("return $T.endpoint(", typeMirror.rulesResult().type());
if (endpointCaching) {
builder.add("$T.builder().url($T.getInstance().create(", Endpoint.class, SdkUri.class);
} else {
builder.add("$T.builder().url($T.create(", Endpoint.class, URI.class);
}
builder.add("$T.builder().endpointUrl($T.fromString(", Endpoint.class, EndpointUrl.class);
e.url().accept(this);
builder.add("))");
e.headers().accept(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,10 @@ private MethodSpec.Builder methodBuilderForRule(RuleSetExpression expr) {
}

private void codegenExpr(RuleSetExpression expr, CodeBlock.Builder builder) {
boolean useEndpointCaching = intermediateModel.getCustomizationConfig().getEnableEndpointProviderUriCaching();
CodeGeneratorVisitor visitor = new CodeGeneratorVisitor(typeMirror,
utils.symbolTable(),
knownEndpointAttributes,
utils.scopesByName(),
useEndpointCaching,
builder);
visitor.visitRuleSetExpression(expr);
}
Expand Down
Loading
Loading