DefaultPolicy newPolicy = new DefaultPolicy();
Credential[] credentials = subtreePolicy.getCredentials();
for (int i = 0; i < credentials.length; i++) {
Role role = credentials[i].getRole();
CredentialImpl credential = new CredentialImpl(credentials[i].getAccreditable(), role);
credential.setMethod(credentials[i].getMethod());
newPolicy.addCredential(credential);
}
assertEquals(subtreePolicy.getCredentials().length, newPolicy.getCredentials().length);
policyManager.saveSubtreePolicy(SAVE_URL, newPolicy);
newPolicy = (DefaultPolicy) policyManager.buildSubtreePolicy(getAccessController()
.getAccreditableManager(), SAVE_URL);
assertEquals(subtreePolicy.getCredentials().length, newPolicy.getCredentials().length);
Credential[] newCredentials = newPolicy.getCredentials();
for (int i = 0; i < credentials.length; i++) {
Role role = credentials[i].getRole();
CredentialImpl credential = new CredentialImpl(credentials[i].getAccreditable(), role);
credential.setMethod(credential.getMethod());
Credential newCredential = null;
for (int k = 0; k < newCredentials.length; k++) {
if (newCredentials[k].getAccreditable().equals(credential.getAccreditable())) {
newCredential = newCredentials[k];
}
}
getLogger().info("Accreditable: [" + credential.getAccreditable() + "]");
assertNotNull(newCredential);
Role oldRole = credential.getRole();
Role newRole = newCredential.getRole();
assertEquals(oldRole, newRole);
/*
* for (int j = 0; j < roles.length; j++) { assertEquals(roles[j],
* newRoles[j]); getLogger().info(" Role: [" + roles[j] + "]"); }