Skip to content

Commit

Permalink
Fix parameters toBuilder (#1571)
Browse files Browse the repository at this point in the history
* Fix parameter.toBuilder()

* Fix return type of toBuilder to be usuable

* Add additional parmeters to test
  • Loading branch information
rcoh authored Jan 9, 2023
1 parent 78ab8dc commit a1a0817
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,12 @@ public Builder toBuilder() {
.type(getType())
.name(getName())
.builtIn(builtIn)
.value(value)
.required(required)
.sourceLocation(sourceLocation)
.deprecated(deprecated)
.documentation(documentation)
.value(value);
.defaultValue(defaultValue);
}

public String template() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import software.amazon.smithy.model.traits.AbstractTraitBuilder;
import software.amazon.smithy.model.traits.Trait;
import software.amazon.smithy.utils.BuilderRef;
import software.amazon.smithy.utils.SmithyBuilder;
import software.amazon.smithy.utils.SmithyUnstableApi;
import software.amazon.smithy.utils.ToSmithyBuilder;

Expand Down Expand Up @@ -58,7 +57,7 @@ protected Node createNode() {
}

@Override
public SmithyBuilder<ClientContextParamsTrait> toBuilder() {
public Builder toBuilder() {
return builder()
.sourceLocation(getSourceLocation())
.parameters(getParameters());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package software.amazon.smithy.rulesengine.language.syntax;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.Test;
import software.amazon.smithy.model.node.Node;
import software.amazon.smithy.rulesengine.language.eval.Value;
import software.amazon.smithy.rulesengine.language.syntax.parameters.Parameter;
import software.amazon.smithy.rulesengine.language.syntax.parameters.ParameterType;

public class ParameterTest {
@Test
void parameterToBuilderRoundTrips() {
Parameter p = Parameter.builder()
.name("test")
.builtIn("Test::BuiltIn")
.required(true)
.defaultValue(Value.bool(true))
.type(ParameterType.BOOLEAN)
.deprecated(new Parameter.Deprecated("message", "I wrote this test"))
.value(Node.from(true))
.documentation("here are some docs")
.build();
assertEquals(p, p.toBuilder().build());
}
}

0 comments on commit a1a0817

Please sign in to comment.