From c1dc04896af6ba7f93a2f38edfda93ef0f3d2a02 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 04 Dec 2009 09:39:23 +0000
Subject: [PATCH] Remove support for schema attachments as it was not sufficient for implementing thread/schema local object caches.

---
 sdk/src/org/opends/sdk/schema/Schema.java |  148 -------------------------------------------------
 1 files changed, 0 insertions(+), 148 deletions(-)

diff --git a/sdk/src/org/opends/sdk/schema/Schema.java b/sdk/src/org/opends/sdk/schema/Schema.java
index 5c1a30f..b99fe16 100644
--- a/sdk/src/org/opends/sdk/schema/Schema.java
+++ b/sdk/src/org/opends/sdk/schema/Schema.java
@@ -61,8 +61,6 @@
 {
   private static class EmptyImpl implements Impl
   {
-    private final Map<SchemaLocal<?>, Object> attachments;
-
     private final SchemaCompatOptions options;
 
 
@@ -70,28 +68,6 @@
     private EmptyImpl()
     {
       this.options = SchemaCompatOptions.defaultOptions();
-      this.attachments = new WeakHashMap<SchemaLocal<?>, Object>();
-    }
-
-
-
-    @SuppressWarnings("unchecked")
-    public <T> T getAttachment(SchemaLocal<T> attachment)
-    {
-      T o;
-      synchronized (attachments)
-      {
-        o = (T) attachments.get(attachment);
-        if (o == null)
-        {
-          o = attachment.initialValue();
-          if (o != null)
-          {
-            attachments.put(attachment, o);
-          }
-        }
-      }
-      return o;
     }
 
 
@@ -378,39 +354,12 @@
     {
       return false;
     }
-
-
-
-    @SuppressWarnings("unchecked")
-    public <T> T removeAttachment(SchemaLocal<T> attachment)
-    {
-      T o;
-      synchronized (attachments)
-      {
-        o = (T) attachments.remove(attachment);
-      }
-      return o;
-    }
-
-
-
-    public <T> void setAttachment(SchemaLocal<T> attachment, T value)
-    {
-      synchronized (attachments)
-      {
-        attachments.put(attachment, value);
-      }
-    }
   }
 
 
 
   private static interface Impl
   {
-    <T> T getAttachment(SchemaLocal<T> attachment);
-
-
-
     AttributeType getAttributeType(String name)
         throws UnknownSchemaElementException;
 
@@ -563,14 +512,6 @@
 
 
     boolean isStrict();
-
-
-
-    <T> T removeAttachment(SchemaLocal<T> attachment);
-
-
-
-    <T> void setAttachment(SchemaLocal<T> attachment, T value);
   }
 
 
@@ -588,13 +529,6 @@
 
 
 
-    public <T> T getAttachment(SchemaLocal<T> attachment)
-    {
-      return strictImpl.getAttachment(attachment);
-    }
-
-
-
     public AttributeType getAttributeType(String name)
         throws UnknownSchemaElementException
     {
@@ -881,28 +815,12 @@
     {
       return false;
     }
-
-
-
-    public <T> T removeAttachment(SchemaLocal<T> attachment)
-    {
-      return strictImpl.removeAttachment(attachment);
-    }
-
-
-
-    public <T> void setAttachment(SchemaLocal<T> attachment, T value)
-    {
-      strictImpl.setAttachment(attachment, value);
-    }
   }
 
 
 
   private static class StrictImpl implements Impl
   {
-    private final Map<SchemaLocal<?>, Object> attachments;
-
     private final Map<Integer, DITStructureRule> id2StructureRules;
 
     private final Map<String, List<AttributeType>> name2AttributeTypes;
@@ -994,28 +912,6 @@
       this.nameForm2StructureRules = Collections
           .unmodifiableMap(nameForm2StructureRules);
       this.options = options;
-      attachments = new WeakHashMap<SchemaLocal<?>, Object>();
-    }
-
-
-
-    @SuppressWarnings("unchecked")
-    public <T> T getAttachment(SchemaLocal<T> attachment)
-    {
-      T o;
-      synchronized (attachments)
-      {
-        o = (T) attachments.get(attachment);
-        if (o == null)
-        {
-          o = attachment.initialValue();
-          if (o != null)
-          {
-            attachments.put(attachment, o);
-          }
-        }
-      }
-      return o;
     }
 
 
@@ -1514,29 +1410,6 @@
     {
       return true;
     }
-
-
-
-    @SuppressWarnings("unchecked")
-    public <T> T removeAttachment(SchemaLocal<T> attachment)
-    {
-      T o;
-      synchronized (attachments)
-      {
-        o = (T) attachments.remove(attachment);
-      }
-      return o;
-    }
-
-
-
-    public <T> void setAttachment(SchemaLocal<T> attachment, T value)
-    {
-      synchronized (attachments)
-      {
-        attachments.put(attachment, value);
-      }
-    }
   }
 
 
@@ -2503,29 +2376,8 @@
 
 
 
-  <T> T getAttachment(SchemaLocal<T> attachment)
-  {
-    return impl.getAttachment(attachment);
-  }
-
-
-
   SchemaCompatOptions getSchemaCompatOptions()
   {
     return impl.getSchemaCompatOptions();
   }
-
-
-
-  <T> T removeAttachment(SchemaLocal<T> attachment)
-  {
-    return impl.removeAttachment(attachment);
-  }
-
-
-
-  <T> void setAttachment(SchemaLocal<T> attachment, T value)
-  {
-    impl.setAttachment(attachment, value);
-  }
 }

--
Gitblit v1.10.0