diff --git a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBinding.java b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBinding.java index 88f2610162..8c847cb13d 100644 --- a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBinding.java +++ b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBinding.java @@ -5,17 +5,17 @@ package io.opentelemetry.instrumentation.api.annotation.support; -import io.opentelemetry.instrumentation.api.tracer.AttributeSetter; +import io.opentelemetry.api.common.AttributesBuilder; /** Represents the binding of a method parameter to an attribute of a traced method. */ @FunctionalInterface -public interface AttributeBinding { +interface AttributeBinding { /** * Applies the value of the method argument as an attribute on the span for the traced method. * - * @param setter the {@link AttributeSetter} onto which to add the attribute + * @param target the {@link AttributesBuilder} onto which to add the attribute * @param arg the value of the method argument */ - void apply(AttributeSetter setter, Object arg); + void apply(AttributesBuilder target, Object arg); } diff --git a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactory.java b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactory.java index 4552fafb6f..d875f0d909 100644 --- a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactory.java +++ b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactory.java @@ -25,27 +25,27 @@ class AttributeBindingFactory { // Simple scalar parameter types if (type == String.class) { AttributeKey key = AttributeKey.stringKey(name); - return (setter, arg) -> setter.setAttribute(key, (String) arg); + return (setter, arg) -> setter.put(key, (String) arg); } if (type == long.class || type == Long.class) { AttributeKey key = AttributeKey.longKey(name); - return (setter, arg) -> setter.setAttribute(key, (Long) arg); + return (setter, arg) -> setter.put(key, (Long) arg); } if (type == double.class || type == Double.class) { AttributeKey key = AttributeKey.doubleKey(name); - return (setter, arg) -> setter.setAttribute(key, (Double) arg); + return (setter, arg) -> setter.put(key, (Double) arg); } if (type == boolean.class || type == Boolean.class) { AttributeKey key = AttributeKey.booleanKey(name); - return (setter, arg) -> setter.setAttribute(key, (Boolean) arg); + return (setter, arg) -> setter.put(key, (Boolean) arg); } if (type == int.class || type == Integer.class) { AttributeKey key = AttributeKey.longKey(name); - return (setter, arg) -> setter.setAttribute(key, ((Integer) arg).longValue()); + return (setter, arg) -> setter.put(key, ((Integer) arg).longValue()); } if (type == float.class || type == Float.class) { AttributeKey key = AttributeKey.doubleKey(name); - return (setter, arg) -> setter.setAttribute(key, ((Float) arg).doubleValue()); + return (setter, arg) -> setter.put(key, ((Float) arg).doubleValue()); } if (isArrayType(type)) { @@ -74,19 +74,19 @@ class AttributeBindingFactory { // Simple array attribute types without conversion if (type == String[].class) { AttributeKey> key = AttributeKey.stringArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, Arrays.asList((String[]) arg)); + return (setter, arg) -> setter.put(key, Arrays.asList((String[]) arg)); } if (type == Long[].class) { AttributeKey> key = AttributeKey.longArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, Arrays.asList((Long[]) arg)); + return (setter, arg) -> setter.put(key, Arrays.asList((Long[]) arg)); } if (type == Double[].class) { AttributeKey> key = AttributeKey.doubleArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, Arrays.asList((Double[]) arg)); + return (setter, arg) -> setter.put(key, Arrays.asList((Double[]) arg)); } if (type == Boolean[].class) { AttributeKey> key = AttributeKey.booleanArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, Arrays.asList((Boolean[]) arg)); + return (setter, arg) -> setter.put(key, Arrays.asList((Boolean[]) arg)); } if (type == long[].class) { @@ -118,19 +118,19 @@ class AttributeBindingFactory { private static AttributeBinding listBinding(String name, Type componentType) { if (componentType == String.class) { AttributeKey> key = AttributeKey.stringArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, (List) arg); + return (setter, arg) -> setter.put(key, (List) arg); } if (componentType == Long.class) { AttributeKey> key = AttributeKey.longArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, (List) arg); + return (setter, arg) -> setter.put(key, (List) arg); } if (componentType == Double.class) { AttributeKey> key = AttributeKey.doubleArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, (List) arg); + return (setter, arg) -> setter.put(key, (List) arg); } if (componentType == Boolean.class) { AttributeKey> key = AttributeKey.booleanArrayKey(name); - return (setter, arg) -> setter.setAttribute(key, (List) arg); + return (setter, arg) -> setter.put(key, (List) arg); } if (componentType == Integer.class) { AttributeKey> key = AttributeKey.longArrayKey(name); @@ -160,7 +160,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -181,7 +181,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -201,7 +201,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -221,7 +221,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -242,7 +242,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -262,7 +262,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -282,7 +282,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -303,7 +303,7 @@ class AttributeBindingFactory { return array.length; } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -325,7 +325,7 @@ class AttributeBindingFactory { return list.size(); } }; - setter.setAttribute(key, wrapper); + setter.put(key, wrapper); }; } @@ -336,6 +336,6 @@ class AttributeBindingFactory { private static AttributeBinding defaultBinding(String name) { AttributeKey key = AttributeKey.stringKey(name); - return (setter, arg) -> setter.setAttribute(key, arg.toString()); + return (setter, arg) -> setter.put(key, arg.toString()); } } diff --git a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindings.java b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindings.java index 6717a5b14f..aa309dc1a4 100644 --- a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindings.java +++ b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindings.java @@ -5,10 +5,10 @@ package io.opentelemetry.instrumentation.api.annotation.support; -import io.opentelemetry.instrumentation.api.tracer.AttributeSetter; +import io.opentelemetry.api.common.AttributesBuilder; /** Represents the bindings of method parameters to attributes of a traced method. */ -public interface AttributeBindings { +interface AttributeBindings { /** * Indicates that the traced method has no parameters bound to attributes. @@ -20,8 +20,8 @@ public interface AttributeBindings { /** * Applies the values of the method arguments as attributes on the span for the traced method. * - * @param setter the {@link AttributeSetter} for setting the attribute on the span + * @param target the {@link AttributesBuilder} on which to set the attribute * @param args the method arguments */ - void apply(AttributeSetter setter, Object[] args); + void apply(AttributesBuilder target, Object[] args); } diff --git a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/MethodSpanAttributesExtractor.java b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/MethodSpanAttributesExtractor.java index 0d8eac89f0..561874460c 100644 --- a/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/MethodSpanAttributesExtractor.java +++ b/instrumentation-api-annotation-support/src/main/java/io/opentelemetry/instrumentation/api/annotation/support/MethodSpanAttributesExtractor.java @@ -8,7 +8,6 @@ package io.opentelemetry.instrumentation.api.annotation.support; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.instrumentation.api.cache.Cache; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; -import io.opentelemetry.instrumentation.api.tracer.AttributeSetter; import java.lang.reflect.Method; import java.lang.reflect.Parameter; import javax.annotation.Nullable; @@ -51,7 +50,7 @@ public final class MethodSpanAttributesExtractor AttributeBindings bindings = cache.computeIfAbsent(method, this::bind); if (!bindings.isEmpty()) { Object[] args = methodArgumentsExtractor.extract(request); - bindings.apply(attributes::put, args); + bindings.apply(attributes, args); } } @@ -108,7 +107,7 @@ public final class MethodSpanAttributesExtractor } @Override - public void apply(AttributeSetter setter, Object[] args) {} + public void apply(AttributesBuilder target, Object[] args) {} } private static final class CombinedAttributeBindings implements AttributeBindings { @@ -129,12 +128,12 @@ public final class MethodSpanAttributesExtractor } @Override - public void apply(AttributeSetter setter, Object[] args) { - parent.apply(setter, args); + public void apply(AttributesBuilder target, Object[] args) { + parent.apply(target, args); if (args != null && args.length > index) { Object arg = args[index]; if (arg != null) { - binding.apply(setter, arg); + binding.apply(target, arg); } } } diff --git a/instrumentation-api-annotation-support/src/test/groovy/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactoryTest.groovy b/instrumentation-api-annotation-support/src/test/groovy/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactoryTest.groovy index f239f543e5..464f925445 100644 --- a/instrumentation-api-annotation-support/src/test/groovy/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactoryTest.groovy +++ b/instrumentation-api-annotation-support/src/test/groovy/io/opentelemetry/instrumentation/api/annotation/support/AttributeBindingFactoryTest.groovy @@ -6,19 +6,19 @@ package io.opentelemetry.instrumentation.api.annotation.support import io.opentelemetry.api.common.AttributeType -import io.opentelemetry.instrumentation.api.tracer.AttributeSetter +import io.opentelemetry.api.common.AttributesBuilder import spock.lang.Specification class AttributeBindingFactoryTest extends Specification { - AttributeSetter setter = Mock() + AttributesBuilder setter = Mock() def "creates attribute binding for String"() { when: AttributeBindingFactory.createBinding("key", String).apply(setter, "value") then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING && it.getKey() == "key" }, "value") + 1 * setter.put({ it.getType() == AttributeType.STRING && it.getKey() == "key" }, "value") } def "creates attribute binding for int"() { @@ -26,7 +26,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", int).apply(setter, 1234) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) + 1 * setter.put({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) } def "creates attribute binding for Integer"() { @@ -34,7 +34,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Integer).apply(setter, 1234) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) + 1 * setter.put({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) } def "creates attribute binding for long"() { @@ -42,7 +42,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", long).apply(setter, 1234L) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) + 1 * setter.put({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) } def "creates attribute binding for Long"() { @@ -50,7 +50,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Long).apply(setter, 1234L) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) + 1 * setter.put({ it.getType() == AttributeType.LONG && it.getKey() == "key" }, 1234L) } def "creates attribute binding for float"() { @@ -58,7 +58,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", float).apply(setter, 1234.0F) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, 1234.0) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, 1234.0) } def "creates attribute binding for Float"() { @@ -66,7 +66,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Float).apply(setter, 1234.0F) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, 1234.0) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, 1234.0) } def "creates attribute binding for double"() { @@ -74,7 +74,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", double).apply(setter, Double.valueOf(1234.0)) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, Double.valueOf(1234.0)) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, Double.valueOf(1234.0)) } def "creates attribute binding for Double"() { @@ -82,7 +82,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Double).apply(setter, Double.valueOf(1234.0)) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, Double.valueOf(1234.0)) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE && it.getKey() == "key" }, Double.valueOf(1234.0)) } def "creates attribute binding for boolean"() { @@ -90,7 +90,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", boolean).apply(setter, true) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.BOOLEAN && it.getKey() == "key" }, true) + 1 * setter.put({ it.getType() == AttributeType.BOOLEAN && it.getKey() == "key" }, true) } def "creates attribute binding for Boolean"() { @@ -98,7 +98,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Boolean).apply(setter, true) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.BOOLEAN && it.getKey() == "key" }, true) + 1 * setter.put({ it.getType() == AttributeType.BOOLEAN && it.getKey() == "key" }, true) } def "creates attribute binding for String[]"() { @@ -106,7 +106,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", String[]).apply(setter, ["x", "y", "z", null] as String[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["x", "y", "z", null]) + 1 * setter.put({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["x", "y", "z", null]) } def "creates attribute binding for int[]"() { @@ -114,7 +114,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", int[]).apply(setter, [1, 2, 3] as int[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) } def "creates attribute binding for Integer[]"() { @@ -122,7 +122,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Integer[]).apply(setter, [1, 2, 3, null] as Integer[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L, null]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L, null]) } def "creates attribute binding for long[]"() { @@ -130,7 +130,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", long[]).apply(setter, [1L, 2L, 3L] as long[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) } def "creates attribute binding for Long[]"() { @@ -138,7 +138,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Long[]).apply(setter, [1L, 2L, 3L, null] as Long[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L, null]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L, null]) } def "creates attribute binding for float[]"() { @@ -146,7 +146,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", float[]).apply(setter, [1.0F, 2.0F, 3.0F] as float[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0] as List) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0] as List) } def "creates attribute binding for Float[]"() { @@ -154,7 +154,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Float[]).apply(setter, [1.0F, 2.0F, 3.0F, null] as Float[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0, null] as List) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0, null] as List) } def "creates attribute binding for double[]"() { @@ -162,7 +162,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", double[]).apply(setter, [1.0, 2.0, 3.0] as double[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0] as List) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0] as List) } def "creates attribute binding for Double[]"() { @@ -170,7 +170,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Double[]).apply(setter, [1.0, 2.0, 3.0, null] as Double[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0, null] as List) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0, null] as List) } def "creates attribute binding for boolean[]"() { @@ -178,7 +178,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", boolean[]).apply(setter, [true, false] as boolean[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false] as List) + 1 * setter.put({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false] as List) } def "creates attribute binding for Boolean[]"() { @@ -186,7 +186,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", Boolean[]).apply(setter, [true, false, null] as Boolean[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false, null] as List) + 1 * setter.put({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false, null] as List) } def "creates default attribute binding"() { @@ -194,7 +194,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", TestClass).apply(setter, new TestClass("foo")) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING && it.getKey() == "key" }, "TestClass{value = foo}") + 1 * setter.put({ it.getType() == AttributeType.STRING && it.getKey() == "key" }, "TestClass{value = foo}") } def "creates default attribute binding for array"() { @@ -202,7 +202,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", TestClass[]).apply(setter, [new TestClass("foo"), new TestClass("bar"), null] as TestClass[]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["TestClass{value = foo}", "TestClass{value = bar}", null]) + 1 * setter.put({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["TestClass{value = foo}", "TestClass{value = bar}", null]) } def "creates attribute binding for List"() { @@ -211,7 +211,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, ["x", "y", "z"]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["x", "y", "z"]) + 1 * setter.put({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["x", "y", "z"]) } def "creates attribute binding for List"() { @@ -220,7 +220,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [1, 2, 3]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) } def "creates attribute binding for List"() { @@ -229,7 +229,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [1L, 2L, 3L]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) } def "creates attribute binding for List"() { @@ -238,7 +238,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [1.0F, 2.0F, 3.0F]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0]) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0]) } def "creates attribute binding for List"() { @@ -247,7 +247,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [1.0, 2.0, 3.0]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0]) + 1 * setter.put({ it.getType() == AttributeType.DOUBLE_ARRAY && it.getKey() == "key" }, [1.0, 2.0, 3.0]) } def "creates attribute binding for List"() { @@ -256,7 +256,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [true, false, null]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false, null]) + 1 * setter.put({ it.getType() == AttributeType.BOOLEAN_ARRAY && it.getKey() == "key" }, [true, false, null]) } def "creates attribute binding for List"() { @@ -265,7 +265,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [new TestClass("foo"), new TestClass("bar")]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["TestClass{value = foo}", "TestClass{value = bar}"]) + 1 * setter.put({ it.getType() == AttributeType.STRING_ARRAY && it.getKey() == "key" }, ["TestClass{value = foo}", "TestClass{value = bar}"]) } def "creates attribute binding for ArrayList"() { @@ -274,7 +274,7 @@ class AttributeBindingFactoryTest extends Specification { AttributeBindingFactory.createBinding("key", type).apply(setter, [1L, 2L, 3L]) then: - 1 * setter.setAttribute({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) + 1 * setter.put({ it.getType() == AttributeType.LONG_ARRAY && it.getKey() == "key" }, [1L, 2L, 3L]) } class TestClass {