Search in sources :

Example 21 with Slime

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

the class ConfigFileFormatterTest method require_that_types_are_not_checked.

// TODO: Remove this when we can reenable typechecking.
@Test
public void require_that_types_are_not_checked() throws IOException {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("enumval", "null");
    root.setString("intval", "null");
    root.setString("longval", "null");
    root.setString("boolval", "null");
    root.setString("doubleval", "null");
    InnerCNode def = new DefParser("simpletypes", new StringReader(StringUtilities.implode(SimpletypesConfig.CONFIG_DEF_SCHEMA, "\n"))).getTree();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ConfigFileFormat(def).encode(baos, slime);
    assertThat(baos.toString("UTF-8"), is("enumval null\nintval null\nlongval null\nboolval false\ndoubleval null\n"));
}
Also used : InnerCNode(com.yahoo.config.codegen.InnerCNode) StringReader(java.io.StringReader) DefParser(com.yahoo.config.codegen.DefParser) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 22 with Slime

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

the class ConfigFileFormatterTest method require_that_basic_formatting_is_correct_with_types.

@Test
public void require_that_basic_formatting_is_correct_with_types() throws IOException {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("stringval", "foo");
    root.setLong("intval", 324234);
    root.setLong("longval", 324);
    root.setDouble("doubleval", 3.455);
    root.setString("enumval", "VAL2");
    root.setBool("boolval", true);
    assertConfigFormat(slime, expected_simpletypes);
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 23 with Slime

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

the class ConfigVerification method listConfigs.

private static Map<String, Stack<String>> listConfigs(List<String> urls) throws IOException {
    Map<String, String> outputs = performRequests(urls);
    Map<String, Stack<String>> recurseMappings = new LinkedHashMap<>();
    for (Map.Entry<String, String> entry : outputs.entrySet()) {
        Slime slime = new JsonDecoder().decode(new Slime(), Utf8.toBytes(entry.getValue()));
        final List<String> list = new ArrayList<>();
        slime.get().field("configs").traverse(new ArrayTraverser() {

            @Override
            public void entry(int idx, Inspector inspector) {
                list.add(inspector.asString());
            }
        });
        Stack<String> stack = new Stack<>();
        Collections.sort(list);
        stack.addAll(list);
        recurseMappings.put(entry.getKey(), stack);
    }
    return recurseMappings;
}
Also used : Slime(com.yahoo.slime.Slime) JsonDecoder(com.yahoo.slime.JsonDecoder) Inspector(com.yahoo.slime.Inspector) ArrayTraverser(com.yahoo.slime.ArrayTraverser)

Example 24 with Slime

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

the class SlimeTraceSerializerTest method toJson.

private String toJson(TraceNode root) throws IOException {
    Slime slime = new Slime();
    SlimeTraceSerializer serializer = new SlimeTraceSerializer(slime.setObject());
    root.accept(serializer);
    JsonFormat format = new JsonFormat(true);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    format.encode(baos, slime);
    return Utf8.toString(baos.toByteArray());
}
Also used : JsonFormat(com.yahoo.slime.JsonFormat) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Slime(com.yahoo.slime.Slime)

Example 25 with Slime

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

the class ApplicationRepository method prepare.

public PrepareResult prepare(Tenant tenant, long sessionId, PrepareParams prepareParams, Instant now) {
    validateThatLocalSessionIsNotActive(tenant, sessionId);
    LocalSession session = getLocalSession(tenant, sessionId);
    ApplicationId applicationId = prepareParams.getApplicationId();
    Optional<ApplicationSet> currentActiveApplicationSet = getCurrentActiveApplicationSet(tenant, applicationId);
    Slime deployLog = createDeployLog();
    DeployLogger logger = new DeployHandlerLogger(deployLog.get().setArray("log"), prepareParams.isVerbose(), applicationId);
    ConfigChangeActions actions = session.prepare(logger, prepareParams, currentActiveApplicationSet, tenant.getPath(), now);
    logConfigChangeActions(actions, logger);
    log.log(LogLevel.INFO, Tenants.logPre(applicationId) + "Session " + sessionId + " prepared successfully. ");
    return new PrepareResult(sessionId, actions, deployLog);
}
Also used : PrepareResult(com.yahoo.vespa.config.server.http.v2.PrepareResult) LocalSession(com.yahoo.vespa.config.server.session.LocalSession) ConfigChangeActions(com.yahoo.vespa.config.server.configchange.ConfigChangeActions) DeployHandlerLogger(com.yahoo.vespa.config.server.deploy.DeployHandlerLogger) DeployLogger(com.yahoo.config.application.api.DeployLogger) SilentDeployLogger(com.yahoo.vespa.config.server.session.SilentDeployLogger) ApplicationId(com.yahoo.config.provision.ApplicationId) ApplicationSet(com.yahoo.vespa.config.server.application.ApplicationSet) 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