From 7ac900eb22110c3e233484becfc65d4a73887c09 Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Wed, 08 Aug 2012 14:27:00 +0000
Subject: [PATCH] Fix OPENDJ-561 Add operation doesn't get password policy from ds-pwp-password-policy-dn;collective

---
 opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java                          |    8 ++++----
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index 0de8635..34441a4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -1019,10 +1019,10 @@
   public final void handlePasswordPolicy()
          throws DirectoryException
   {
-    // FIXME -- We need to check to see if the password policy subentry
-    //          might be specified virtually rather than as a real
-    //          attribute.
-    AuthenticationPolicy policy = AuthenticationPolicy.forUser(entry, false);
+    // Construct any virtual/collective attributes which might
+    // contain a value for the OP_ATTR_PWPOLICY_POLICY_DN attribute.
+    Entry copy = entry.duplicate(true);
+    AuthenticationPolicy policy = AuthenticationPolicy.forUser(copy, false);
     if (!policy.isPasswordPolicy())
     {
       // The entry doesn't have a locally managed password, so no action is
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java
index f5fc787..78b93bc 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java
@@ -744,7 +744,7 @@
       "givenName: Test",
       "sn: User",
       "cn: Test User",
-      "userPassword: test");
+      "userPassword: testtest");
 
     try
     {

--
Gitblit v1.10.0