Search in sources :

Example 6 with Array

use of com.yahoo.rdl.Array in project athenz by yahoo.

the class SignUtils method asStruct.

private static Struct asStruct(DomainData domainData) {
    // all of our fields are in canonical order based
    // on their attribute name
    Struct struct = new Struct();
    appendObject(struct, ATTR_ACCOUNT, domainData.getAccount());
    appendObject(struct, ATTR_ENABLED, domainData.getEnabled());
    appendObject(struct, ATTR_MODIFIED, domainData.getModified());
    appendObject(struct, ATTR_NAME, domainData.getName());
    SignedPolicies signedPolicies = domainData.getPolicies();
    if (signedPolicies != null) {
        Struct structSignedPolicies = new Struct();
        appendObject(structSignedPolicies, ATTR_CONTENTS, asStruct(signedPolicies.getContents()));
        appendObject(structSignedPolicies, ATTR_KEYID, signedPolicies.getKeyId());
        appendObject(struct, ATTR_POLICIES, structSignedPolicies);
        appendObject(structSignedPolicies, ATTR_SIGNATURE, signedPolicies.getSignature());
    }
    Array structRoles = new Array();
    if (domainData.getRoles() != null) {
        for (Role role : domainData.getRoles()) {
            structRoles.add(asStruct(role));
        }
    }
    appendArray(struct, ATTR_ROLES, structRoles);
    Array structServices = new Array();
    if (domainData.getServices() != null) {
        for (ServiceIdentity service : domainData.getServices()) {
            structServices.add(asStruct(service));
        }
    }
    appendArray(struct, ATTR_SERVICES, structServices);
    appendObject(struct, ATTR_YPMID, domainData.getYpmId());
    return struct;
}
Also used : SignedPolicies(com.yahoo.athenz.zms.SignedPolicies) Array(com.yahoo.rdl.Array) Role(com.yahoo.athenz.zms.Role) ServiceIdentity(com.yahoo.athenz.zms.ServiceIdentity) Struct(com.yahoo.rdl.Struct)

Example 7 with Array

use of com.yahoo.rdl.Array in project athenz by yahoo.

the class SignUtils method asStruct.

private static Struct asStruct(Role role) {
    // all of our fields are in canonical order based
    // on their attribute name
    Struct struct = new Struct();
    appendList(struct, ATTR_MEMBERS, role.getMembers());
    appendObject(struct, ATTR_MODIFIED, role.getModified());
    appendObject(struct, ATTR_NAME, role.getName());
    List<RoleMember> roleMembers = role.getRoleMembers();
    if (roleMembers != null) {
        Array roleMembersArray = new Array();
        for (RoleMember roleMember : roleMembers) {
            Struct structRoleMember = new Struct();
            appendObject(structRoleMember, ATTR_EXPIRATION, roleMember.getExpiration());
            appendObject(structRoleMember, ATTR_MEMBER_NAME, roleMember.getMemberName());
            roleMembersArray.add(structRoleMember);
        }
        appendArray(struct, ATTR_ROLE_MEMBERS, roleMembersArray);
    }
    appendObject(struct, ATTR_TRUST, role.getTrust());
    return struct;
}
Also used : Array(com.yahoo.rdl.Array) RoleMember(com.yahoo.athenz.zms.RoleMember) Struct(com.yahoo.rdl.Struct)

Example 8 with Array

use of com.yahoo.rdl.Array in project athenz by yahoo.

the class SignUtils method asCanonicalString.

private static String asCanonicalString(Object obj) {
    StringBuilder strBuffer = new StringBuilder();
    if (obj instanceof Struct) {
        Struct struct = (Struct) obj;
        strBuffer.append('{');
        for (String name : struct.sortedNames()) {
            appendSeparator(strBuffer);
            strBuffer.append('"');
            strBuffer.append(name);
            strBuffer.append("\":");
            strBuffer.append(asCanonicalString(struct.get(name)));
        }
        strBuffer.append('}');
    } else if (obj instanceof Array) {
        strBuffer.append('[');
        for (Object item : (Array) obj) {
            appendSeparator(strBuffer);
            strBuffer.append(asCanonicalString(item));
        }
        strBuffer.append(']');
    } else if (obj instanceof String) {
        strBuffer.append('"');
        strBuffer.append(obj);
        strBuffer.append('"');
    } else if (obj instanceof Integer) {
        strBuffer.append(obj);
    } else if (obj instanceof Long) {
        strBuffer.append(obj);
    }
    return strBuffer.toString();
}
Also used : Array(com.yahoo.rdl.Array) Struct(com.yahoo.rdl.Struct)

Example 9 with Array

use of com.yahoo.rdl.Array in project athenz by yahoo.

the class SignUtils method asStruct.

private static Struct asStruct(DomainPolicies domainPolicies) {
    // all of our fields are in canonical order based
    // on their attribute name
    Struct struct = new Struct();
    appendObject(struct, ATTR_DOMAIN, domainPolicies.getDomain());
    Array policiesArray = new Array();
    for (Policy policy : domainPolicies.getPolicies()) {
        policiesArray.add(asStruct(policy));
    }
    appendArray(struct, ATTR_POLICIES, policiesArray);
    return struct;
}
Also used : Array(com.yahoo.rdl.Array) Policy(com.yahoo.athenz.zms.Policy) Struct(com.yahoo.rdl.Struct)

Example 10 with Array

use of com.yahoo.rdl.Array in project athenz by yahoo.

the class SignUtils method asStruct.

private static Struct asStruct(ServiceIdentity service) {
    // all of our fields are in canonical order based
    // on their attribute name
    Struct struct = new Struct();
    appendObject(struct, ATTR_DESCRIPTION, service.getDescription());
    appendObject(struct, ATTR_EXECUTABLE, service.getExecutable());
    appendObject(struct, ATTR_GROUP, service.getGroup());
    appendList(struct, ATTR_HOSTS, service.getHosts());
    appendObject(struct, ATTR_MODIFIED, service.getModified());
    appendObject(struct, ATTR_NAME, service.getName());
    appendObject(struct, ATTR_PROVIDER_ENDPOINT, service.getProviderEndpoint());
    List<PublicKeyEntry> publicKeys = service.getPublicKeys();
    Array publicKeysArray = new Array();
    if (publicKeys != null) {
        for (PublicKeyEntry publicKey : publicKeys) {
            Struct structPublicKey = new Struct();
            appendObject(structPublicKey, ATTR_ID, publicKey.getId());
            appendObject(structPublicKey, ATTR_KEY, publicKey.getKey());
            publicKeysArray.add(structPublicKey);
        }
    }
    appendArray(struct, ATTR_PUBLIC_KEYS, publicKeysArray);
    appendObject(struct, ATTR_USER, service.getUser());
    return struct;
}
Also used : PublicKeyEntry(com.yahoo.athenz.zms.PublicKeyEntry) Array(com.yahoo.rdl.Array) Struct(com.yahoo.rdl.Struct)

Aggregations

Array (com.yahoo.rdl.Array)10 Struct (com.yahoo.rdl.Struct)9 Assertion (com.yahoo.athenz.zms.Assertion)2 Policy (com.yahoo.athenz.zms.Policy)2 PublicKeyEntry (com.yahoo.athenz.zms.PublicKeyEntry)1 Role (com.yahoo.athenz.zms.Role)1 RoleMember (com.yahoo.athenz.zms.RoleMember)1 ServiceIdentity (com.yahoo.athenz.zms.ServiceIdentity)1 SignedPolicies (com.yahoo.athenz.zms.SignedPolicies)1