From 09dc131d36b33e58f728316c3d445dfc3b865be4 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 03 Apr 2007 18:52:11 +0000
Subject: [PATCH] Add initial support for a virtual attribute subsystem, and implement a few different kinds of virtual attributes.  This commit addresses the following issues:

---
 opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ID2Entry.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ID2Entry.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ID2Entry.java
index 5f2559d..be17587 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ID2Entry.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ID2Entry.java
@@ -256,12 +256,13 @@
     //Try to decode the entry based on the version number. On later versions,
     //a case could be written to upgrade entries if it is not the current
     //version
+    Entry entry = null;
     switch(entryVersion)
     {
       case JebFormat.FORMAT_VERSION :
         try
         {
-          return JebFormat.entryFromDatabase(entryBytes);
+          entry = JebFormat.entryFromDatabase(entryBytes);
         }
         catch (Exception e)
         {
@@ -269,6 +270,8 @@
           String message = getMessage(msgID, id.toString());
           throw new JebException(msgID, message);
         }
+        break;
+
       //case 0x00                     :
       //  Call upgrade method? Call 0x00 decode method?
       default   :
@@ -276,6 +279,13 @@
         String message = getMessage(msgID, id.toString(), entryVersion);
         throw new JebException(msgID, message);
     }
+
+    if (entry != null)
+    {
+      entry.processVirtualAttributes();
+    }
+
+    return entry;
   }
 
   /**

--
Gitblit v1.10.0