Skip to content

Commit

Permalink
Fixing the fix?
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Feb 19, 2015
1 parent 46bc32f commit a2112c3
Showing 1 changed file with 33 additions and 23 deletions.
Expand Up @@ -295,42 +295,52 @@ public static AttributesToReturn createAttributesToReturn(
// Password
CredentialsCapabilityType credentialsCapabilityType = ResourceTypeUtil.getEffectiveCapability(
resource, CredentialsCapabilityType.class);
if (!CapabilityUtil.isPasswordReturnedByDefault(credentialsCapabilityType)) {
// There resource is capable of returning password but it does not
// do it by default
AttributeFetchStrategyType passwordFetchStrategy = objectClassDefinition
.getPasswordFetchStrategy();
if (passwordFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
if (credentialsCapabilityType != null) {
if (CapabilityUtil.isPasswordReturnedByDefault(credentialsCapabilityType)) {
attributesToReturn.setReturnPasswordExplicit(true);
apply = true;
} else {
// There resource is capable of returning password but it does not
// do it by default
AttributeFetchStrategyType passwordFetchStrategy = objectClassDefinition
.getPasswordFetchStrategy();
if (passwordFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
attributesToReturn.setReturnPasswordExplicit(true);
apply = true;
}
}
}

// Activation/administrativeStatus
ActivationCapabilityType activationCapabilityType = ResourceTypeUtil.getEffectiveCapability(resource,
ActivationCapabilityType.class);
if (CapabilityUtil.isActivationStatusReturnedByDefault(activationCapabilityType)) {
// There resource is capable of returning enable flag but it does
// not do it by default
AttributeFetchStrategyType administrativeStatusFetchStrategy = objectClassDefinition
.getActivationFetchStrategy(ActivationType.F_ADMINISTRATIVE_STATUS);
if (administrativeStatusFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
if (activationCapabilityType != null) {
if (CapabilityUtil.isActivationStatusReturnedByDefault(activationCapabilityType)) {
attributesToReturn.setReturnAdministrativeStatusExplicit(true);
apply = true;
} else {
// There resource is capable of returning enable flag but it does
// not do it by default
AttributeFetchStrategyType administrativeStatusFetchStrategy = objectClassDefinition
.getActivationFetchStrategy(ActivationType.F_ADMINISTRATIVE_STATUS);
if (administrativeStatusFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
attributesToReturn.setReturnAdministrativeStatusExplicit(true);
apply = true;
}
}
}

if (CapabilityUtil.isActivationLockoutStatusReturnedByDefault(activationCapabilityType)) {
// There resource is capable of returning lockout flag but it does
// not do it by default
AttributeFetchStrategyType statusFetchStrategy = objectClassDefinition
.getActivationFetchStrategy(ActivationType.F_LOCKOUT_STATUS);
if (statusFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
if (CapabilityUtil.isActivationLockoutStatusReturnedByDefault(activationCapabilityType)) {
attributesToReturn.setReturnLockoutStatusExplicit(true);
apply = true;
} else {
// There resource is capable of returning lockout flag but it does
// not do it by default
AttributeFetchStrategyType statusFetchStrategy = objectClassDefinition
.getActivationFetchStrategy(ActivationType.F_LOCKOUT_STATUS);
if (statusFetchStrategy == AttributeFetchStrategyType.EXPLICIT) {
attributesToReturn.setReturnLockoutStatusExplicit(true);
apply = true;
}
}
}


if (apply) {
return attributesToReturn;
} else {
Expand Down

0 comments on commit a2112c3

Please sign in to comment.