Search in sources :

Example 46 with Cursor

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

the class JobQueueSerializer method toJson.

public byte[] toJson(Iterable<ApplicationId> queue) {
    try {
        Slime slime = new Slime();
        Cursor array = slime.setArray();
        queue.forEach((id -> array.addString(id.serializedForm())));
        return SlimeUtils.toJsonBytes(slime);
    } catch (IOException e) {
        throw new RuntimeException("Serialization of a job queue failed", e);
    }
}
Also used : HashSet(java.util.HashSet) Cursor(com.yahoo.slime.Cursor) List(java.util.List) Inspector(com.yahoo.slime.Inspector) ApplicationId(com.yahoo.config.provision.ApplicationId) SlimeUtils(com.yahoo.vespa.config.SlimeUtils) ArrayTraverser(com.yahoo.slime.ArrayTraverser) Slime(com.yahoo.slime.Slime) Set(java.util.Set) IOException(java.io.IOException) ArrayDeque(java.util.ArrayDeque) Deque(java.util.Deque) IOException(java.io.IOException) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor)

Example 47 with Cursor

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

the class ZoneApiHandler method root.

private HttpResponse root(HttpRequest request) {
    List<Environment> environments = zoneRegistry.zones().all().ids().stream().map(ZoneId::environment).distinct().sorted(Comparator.comparing(Environment::value)).collect(Collectors.toList());
    Slime slime = new Slime();
    Cursor root = slime.setArray();
    environments.forEach(environment -> {
        Cursor object = root.addObject();
        object.setString("name", environment.value());
        // Returning /zone/v2 is a bit strange, but that's what the original Jersey implementation did
        object.setString("url", request.getUri().resolve("/zone/v2/environment/").resolve(environment.value()).toString());
    });
    return new SlimeJsonResponse(slime);
}
Also used : SlimeJsonResponse(com.yahoo.vespa.hosted.controller.restapi.SlimeJsonResponse) Environment(com.yahoo.config.provision.Environment) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor)

Example 48 with Cursor

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

the class ServiceApiResponse method setResponse.

public void setResponse(ApplicationView applicationView) {
    Cursor clustersArray = slime.setObject().setArray("clusters");
    for (ClusterView clusterView : applicationView.clusters) {
        Cursor clusterObject = clustersArray.addObject();
        clusterObject.setString("name", clusterView.name);
        clusterObject.setString("type", clusterView.type);
        setNullableString("url", rewriteIfUrl(clusterView.url, requestUri), clusterObject);
        Cursor servicesArray = clusterObject.setArray("services");
        for (ServiceView serviceView : clusterView.services) {
            Cursor serviceObject = servicesArray.addObject();
            setNullableString("url", rewriteIfUrl(serviceView.url, requestUri), serviceObject);
            serviceObject.setString("serviceType", serviceView.serviceType);
            serviceObject.setString("serviceName", serviceView.serviceName);
            serviceObject.setString("configId", serviceView.configId);
            serviceObject.setString("host", serviceView.host);
        }
    }
}
Also used : ClusterView(com.yahoo.vespa.serviceview.bindings.ClusterView) ServiceView(com.yahoo.vespa.serviceview.bindings.ServiceView) Cursor(com.yahoo.slime.Cursor)

Example 49 with Cursor

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

the class ErrorResponse method asSlimeMessage.

private static Slime asSlimeMessage(String errorType, String message) {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("error-code", errorType);
    root.setString("message", message);
    return slime;
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor)

Example 50 with Cursor

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

the class ConfidenceOverrideSerializer method toSlime.

public Slime toSlime(Map<Version, Confidence> overrides) {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    Cursor object = root.setObject(overridesField);
    overrides.forEach((version, confidence) -> object.setString(version.toString(), confidence.name()));
    return slime;
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor)

Aggregations

Cursor (com.yahoo.slime.Cursor)112 Slime (com.yahoo.slime.Slime)79 Test (org.junit.Test)33 SlimeJsonResponse (com.yahoo.vespa.hosted.controller.restapi.SlimeJsonResponse)19 ByteArrayOutputStream (java.io.ByteArrayOutputStream)17 DefParser (com.yahoo.config.codegen.DefParser)15 InnerCNode (com.yahoo.config.codegen.InnerCNode)15 StringReader (java.io.StringReader)15 IOException (java.io.IOException)9 ApplicationId (com.yahoo.config.provision.ApplicationId)8 JsonFormat (com.yahoo.slime.JsonFormat)8 Application (com.yahoo.vespa.hosted.controller.Application)6 List (java.util.List)6 Map (java.util.Map)6 Inspector (com.yahoo.slime.Inspector)5 SlimeUtils (com.yahoo.vespa.config.SlimeUtils)5 Ignore (org.junit.Ignore)5 Version (com.yahoo.component.Version)4 RegionName (com.yahoo.config.provision.RegionName)4 TenantName (com.yahoo.config.provision.TenantName)4