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;
}
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;
}
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();
}
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;
}
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;
}
Aggregations