Search in sources :

Example 76 with Slime

use of com.yahoo.slime.Slime in project vespa by vespa-engine.

the class SlimeUtilsTest method test_copying_slime_types_into_cursor.

@Test
public void test_copying_slime_types_into_cursor() {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("foo", "foobie");
    Cursor subobj = root.setObject("bar");
    Slime slime2 = new Slime();
    Cursor root2 = slime2.setObject();
    root2.setString("a", "a");
    root2.setLong("b", 2);
    root2.setBool("c", true);
    root2.setDouble("d", 3.14);
    root2.setData("e", new byte[] { 0x64 });
    root2.setNix("f");
    SlimeUtils.copyObject(slime2.get(), subobj);
    assertThat(root.toString(), is("{\"foo\":\"foobie\",\"bar\":{\"a\":\"a\",\"b\":2,\"c\":true,\"d\":3.14,\"e\":\"0x64\",\"f\":null}}"));
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 77 with Slime

use of com.yahoo.slime.Slime in project vespa by vespa-engine.

the class ConfigBuilderGeneratorTest method require_that_custom_classes_can_be_generated.

@Test
public void require_that_custom_classes_can_be_generated() throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
    String[] schema = new String[] { "namespace=foo.bar", "intval int", "stringval string" };
    File tempDir = Files.createTempDir();
    ConfigDefinitionKey key = new ConfigDefinitionKey("quux", "foo.bar");
    ConfigCompiler compiler = new LazyConfigCompiler(tempDir);
    ConfigInstance.Builder builder = compiler.compile(new ConfigDefinition(key.getName(), schema).generateClass()).newInstance();
    assertNotNull(builder);
    ConfigPayloadApplier<?> payloadApplier = new ConfigPayloadApplier<>(builder);
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("intval", "3");
    root.setString("stringval", "Hello, world");
    payloadApplier.applyPayload(new ConfigPayload(slime));
    String className = createClassName(key.getName());
    ConfigInstance instance = (ConfigInstance) builder.getClass().getClassLoader().loadClass("com.yahoo." + key.getNamespace() + "." + className).getConstructor(new Class<?>[] { builder.getClass() }).newInstance(builder);
    assertNotNull(instance);
    assertEquals("intval 3\nstringval \"Hello, world\"", instance.toString());
}
Also used : ConfigDefinitionKey(com.yahoo.vespa.config.ConfigDefinitionKey) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) ConfigPayload(com.yahoo.vespa.config.ConfigPayload) ConfigPayloadApplier(com.yahoo.vespa.config.ConfigPayloadApplier) File(java.io.File) ConfigInstance(com.yahoo.config.ConfigInstance) Test(org.junit.Test)

Example 78 with Slime

use of com.yahoo.slime.Slime in project vespa by vespa-engine.

the class SlimeTraceSerializerTest method assertSerialize.

private void assertSerialize(TraceNode root) {
    Slime slime = new Slime();
    SlimeTraceSerializer serializer = new SlimeTraceSerializer(slime.setObject());
    root.accept(serializer);
    SlimeTraceDeserializer deserializer = new SlimeTraceDeserializer(slime.get());
    TraceNode deser = deserializer.deserialize();
    assertTraceEqual(deser, root);
}
Also used : Slime(com.yahoo.slime.Slime) TraceNode(com.yahoo.yolean.trace.TraceNode)

Example 79 with Slime

use of com.yahoo.slime.Slime in project vespa by vespa-engine.

the class ConfigPayload method fromInstance.

public static ConfigPayload fromInstance(ConfigInstance instance) {
    Slime slime = new Slime();
    ConfigInstanceSerializer serializer = new ConfigInstanceSerializer(slime);
    ConfigInstance.serialize(instance, serializer);
    return new ConfigPayload(slime);
}
Also used : ConfigInstanceSerializer(com.yahoo.config.subscription.ConfigInstanceSerializer) Slime(com.yahoo.slime.Slime)

Example 80 with Slime

use of com.yahoo.slime.Slime in project vespa by vespa-engine.

the class ConfigPayload method fromBuilder.

public static ConfigPayload fromBuilder(ConfigPayloadBuilder builder) {
    Slime slime = new Slime();
    builder.resolve(slime.setObject());
    return new ConfigPayload(slime);
}
Also used : Slime(com.yahoo.slime.Slime)

Aggregations

Slime (com.yahoo.slime.Slime)131 Cursor (com.yahoo.slime.Cursor)76 Test (org.junit.Test)43 ByteArrayOutputStream (java.io.ByteArrayOutputStream)23 SlimeJsonResponse (com.yahoo.vespa.hosted.controller.restapi.SlimeJsonResponse)22 DefParser (com.yahoo.config.codegen.DefParser)14 InnerCNode (com.yahoo.config.codegen.InnerCNode)14 StringReader (java.io.StringReader)14 JsonFormat (com.yahoo.slime.JsonFormat)10 ApplicationId (com.yahoo.config.provision.ApplicationId)9 Inspector (com.yahoo.slime.Inspector)9 Application (com.yahoo.vespa.hosted.controller.Application)9 SlimeAdapter (com.yahoo.data.access.slime.SlimeAdapter)8 IOException (java.io.IOException)8 Version (com.yahoo.component.Version)7 JsonDecoder (com.yahoo.slime.JsonDecoder)6 ConfigPayload (com.yahoo.vespa.config.ConfigPayload)6 HttpResponse (com.yahoo.container.jdisc.HttpResponse)5 DeployLogger (com.yahoo.config.application.api.DeployLogger)4 TenantName (com.yahoo.config.provision.TenantName)4