From a3848486dd907935a1c9beda2c3dce022ce4b33c Mon Sep 17 00:00:00 2001
From: davidely <davidely@localhost>
Date: Fri, 27 Jul 2007 19:20:42 +0000
Subject: [PATCH] Altered test code to get around build failures with pre-1.5.0_08 JVMs.  This problem especially affected Mac users since 1.5.0_08 JVM is not available on that platform.

---
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProviderTestCase.java |   16 +++++++-
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/VirtualStaticGroupTestCase.java                  |   16 +++++++-
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java                                  |   34 +++++++++-------
 3 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java
index c23bc6a..399c4df 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java
@@ -30,6 +30,9 @@
 
 /**
  * A mock LDAP profile wrapper for testing purposes.
+ *
+ * NOTE:  The seemingly unnecessary casts throughout this class are
+ * required to work around a bug in JDK versions prior to 1.5.0_08.
  */
 public final class MockLDAPProfile extends LDAPProfile.Wrapper {
 
@@ -40,43 +43,43 @@
     // No implementation required.
   }
 
-
-
   /**
    * {@inheritDoc}
    */
   @Override
   public String getAttributeName(AbstractManagedObjectDefinition<?, ?> d,
       PropertyDefinition<?> pd) {
-    if (d == TestParentCfgDefn.getInstance()) {
+
+    // These casts throughout are required to work around a bug in JDK versions prior to 1.5.0_08.
+    if (d == (AbstractManagedObjectDefinition<?, ?>)TestParentCfgDefn.getInstance()) {
       TestParentCfgDefn td = TestParentCfgDefn.getInstance();
 
-      if (pd == td.getMandatoryBooleanPropertyPropertyDefinition()) {
+      if (pd == (PropertyDefinition<?>)td.getMandatoryBooleanPropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-enabled";
-      } else if (pd == td.getMandatoryClassPropertyPropertyDefinition()) {
+      } else if (pd == (PropertyDefinition<?>)td.getMandatoryClassPropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-class";
-      } else if (pd == td
+      } else if (pd == (PropertyDefinition<?>)td
           .getMandatoryReadOnlyAttributeTypePropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-type";
-      } else if (pd == td.getOptionalMultiValuedDNPropertyPropertyDefinition()) {
+      } else if (pd == (PropertyDefinition<?>)td.getOptionalMultiValuedDNPropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-base-dn";
       } else {
         throw new RuntimeException("Unexpected test-parent property"
             + pd.getName());
       }
-    } else if (d == TestChildCfgDefn.getInstance()) {
+    } else if (d == (AbstractManagedObjectDefinition<?, ?>)TestChildCfgDefn.getInstance()) {
       TestChildCfgDefn td = TestChildCfgDefn.getInstance();
 
-      if (pd == td.getMandatoryBooleanPropertyPropertyDefinition()) {
+      if (pd == (PropertyDefinition<?>)td.getMandatoryBooleanPropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-enabled";
-      } else if (pd == td.getMandatoryClassPropertyPropertyDefinition()) {
+      } else if (pd == (PropertyDefinition<?>)td.getMandatoryClassPropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-class";
-      } else if (pd == td
+      } else if (pd == (PropertyDefinition<?>)td
           .getMandatoryReadOnlyAttributeTypePropertyPropertyDefinition()) {
         return "ds-cfg-virtual-attribute-type";
-      } else if (pd == td.getOptionalMultiValuedDNProperty1PropertyDefinition()) {
+      } else if (pd == (PropertyDefinition<?>)td.getOptionalMultiValuedDNProperty1PropertyDefinition()) {
         return "ds-cfg-virtual-attribute-base-dn";
-      } else if (pd == td.getOptionalMultiValuedDNProperty2PropertyDefinition()) {
+      } else if (pd == (PropertyDefinition<?>)td.getOptionalMultiValuedDNProperty2PropertyDefinition()) {
         return "ds-cfg-virtual-attribute-group-dn";
       } else {
         throw new RuntimeException("Unexpected test-child property"
@@ -112,9 +115,10 @@
    */
   @Override
   public String getObjectClass(AbstractManagedObjectDefinition<?, ?> d) {
-    if (d == TestParentCfgDefn.getInstance()) {
+    // These casts throughout are required to work around a bug in JDK versions prior to 1.5.0_08.
+    if (d == (AbstractManagedObjectDefinition<?, ?>)TestParentCfgDefn.getInstance()) {
       return "ds-cfg-virtual-attribute";
-    } else if (d == TestChildCfgDefn.getInstance()) {
+    } else if (d == (AbstractManagedObjectDefinition<?, ?>)TestChildCfgDefn.getInstance()) {
       return "ds-cfg-virtual-attribute";
     } else {
       // Not known.
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 8145c69..b405e39 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
@@ -134,8 +134,14 @@
     {
       if (rule.getAttributeType().equals(descriptionType))
       {
+        // Due to a bug in JDK versions prior to 1.5.0_08, we have to
+        // rewrite the following code.
+        // UserDefinedVirtualAttributeProvider provider =
+        //     (UserDefinedVirtualAttributeProvider)
+        Object providerAsObject = rule.getProvider();
         UserDefinedVirtualAttributeProvider provider =
-             (UserDefinedVirtualAttributeProvider) rule.getProvider();
+             (UserDefinedVirtualAttributeProvider)providerAsObject;
+        
         assertFalse(provider.isMultiValued());
         assertFalse(provider.isSearchable(rule, searchOperation));
 
@@ -190,8 +196,14 @@
     {
       if (rule.getAttributeType().equals(descriptionType))
       {
+        // Due to a bug in JDK versions prior to 1.5.0_08, we have to
+        // rewrite the following code.
+        // UserDefinedVirtualAttributeProvider provider =
+        //     (UserDefinedVirtualAttributeProvider)
+        Object providerAsObject = rule.getProvider();
         UserDefinedVirtualAttributeProvider provider =
-             (UserDefinedVirtualAttributeProvider) rule.getProvider();
+             (UserDefinedVirtualAttributeProvider)providerAsObject;
+
         assertTrue(provider.isMultiValued());
         assertFalse(provider.isSearchable(rule, searchOperation));
 
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/VirtualStaticGroupTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/VirtualStaticGroupTestCase.java
index 0b5a832..741561a 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/VirtualStaticGroupTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/VirtualStaticGroupTestCase.java
@@ -643,8 +643,14 @@
     }
     assertNotNull(rule);
 
+    // Due to a bug in JDK versions prior to 1.5.0_08, we have to
+    // rewrite the following code.
+    // MemberVirtualAttributeProvider provider =
+    //      (MemberVirtualAttributeProvider) rule.getProvider();
+    Object providerAsObject = rule.getProvider();
     MemberVirtualAttributeProvider provider =
-         (MemberVirtualAttributeProvider) rule.getProvider();
+         (MemberVirtualAttributeProvider) providerAsObject;
+
     assertNotNull(provider);
 
     Entry entry = DirectoryServer.getEntry(vsm);
@@ -716,8 +722,14 @@
     }
     assertNotNull(rule);
 
+    // Due to a bug in JDK versions prior to 1.5.0_08, we have to
+    // rewrite the following code.
+    // MemberVirtualAttributeProvider provider =
+    //      (MemberVirtualAttributeProvider) rule.getProvider();
+    Object providerAsObject = rule.getProvider();
     MemberVirtualAttributeProvider provider =
-         (MemberVirtualAttributeProvider) rule.getProvider();
+         (MemberVirtualAttributeProvider) providerAsObject;
+
     assertNotNull(provider);
 
     Entry entry = DirectoryServer.getEntry(vn);

--
Gitblit v1.10.0