Author: vgritsenko
Date: Mon Nov 12 09:47:53 2007
New Revision: 594230

URL: http://svn.apache.org/viewvc?rev=594230&view=rev
Log:
rearrange methods

Modified:
    xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java

Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java?rev=594230&r1=594229&r2=594230&view=diff
==============================================================================
--- xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java 
(original)
+++ xml/xindice/trunk/java/src/org/apache/xindice/core/Collection.java Mon Nov 
12 09:47:53 2007
@@ -243,6 +243,9 @@
         this.parent = parent;
     }
 
+
+    // -- Internal Implementation Methods -----------------------------------
+
     private void checkFiler(int faultCode) throws DBException {
         if (filer == null) {
             throw new DBException(faultCode,
@@ -254,19 +257,90 @@
         }
     }
 
+    private Key getIdentityKey(Key key) {
+        synchronized (identityMap) {
+            Key id = null;
+            WeakReference ref = (WeakReference) identityMap.get(key);
+            if (ref != null) {
+                id = (Key) ref.get();
+            }
+            if (id == null) {
+                id = key;
+                identityMap.put(id, new WeakReference(id));
+            }
+
+            return id;
+        }
+    }
+
+    private String debugHeader() {
+        return "["
+                + Thread.currentThread().getName()
+                + "] '"
+                + (parent != null ? parent.getCanonicalName() : "")
+                + "/"
+                + name
+                + "' ";
+    }
+
     /**
-     * @see org.apache.xindice.core.DBObject#close()
+     * @throws DBException if operation failed
      */
-    public boolean close() throws DBException {
-        // Close children collections first
-        super.close();
+    private void flushSymbolTable() throws DBException {
+        if (symbols.isDirty()) {
+            getSystemCollection().saveSymbols(this, symbols);
+        }
+    }
 
-        // Close its own filer
-        if (filer != null) {
-            indexManager.close();
-            filer.close();
+    /**
+     * @param name collection name
+     */
+    protected void setName(String name) {
+        this.name = name;
+    }
+
+    protected final void setCanonicalName(String canonicalName) {
+        this.canonicalName = canonicalName;
+
+        // Calculate The OID Template
+        StringBuffer sb = new StringBuffer("00000000000000000000000000000000");
+        String host = Integer.toString(host_id, 16);
+        sb.insert(8 - host.length(), host);
+
+        String collection = 
Integer.toString(Math.abs(canonicalName.hashCode()), 16);
+        sb.insert(16 - collection.length(), collection);
+
+        sb.setLength(32);
+        oidTemplate = sb.toString();
+    }
+
+    protected final void setCollectionRoot(File collectionRoot) {
+        this.collectionRoot = collectionRoot;
+        if (!collectionRoot.exists()) {
+            if (log.isTraceEnabled()) {
+                log.trace("Creating directories: " + collectionRoot);
+            }
+            collectionRoot.mkdirs();
         }
+    }
+
+
+    // -- Database Object Methods -------------------------------------------
 
+    public boolean isOpened() {
+        // Collection without filer is always open ... for now.
+        //noinspection SimplifiableIfStatement
+        if (filer == null) {
+            return true;
+        }
+
+        return filer.isOpened();
+    }
+
+    /**
+     * @see org.apache.xindice.core.DBObject#exists()
+     */
+    public boolean exists() throws DBException {
         return true;
     }
 
@@ -281,6 +355,178 @@
         return true;
     }
 
+    public final boolean open() throws DBException {
+        return true;
+    }
+
+    /**
+     * @see org.apache.xindice.core.DBObject#drop()
+     */
+    public boolean drop() throws DBException {
+        DBObserver.getInstance().dropCollection(this);
+
+        // Drop the meta if necessary
+        if (isMetaEnabled()) {
+            getMetaSystemCollection().dropCollectionMeta(this);
+        }
+
+        // Drop Child Collections
+        String[] cols = listCollections();
+        for (int i = 0; i < cols.length; i++) {
+            dropCollection(getCollection(cols[i]));
+        }
+
+        if (filer != null) {
+            // Drop Indexers and Filer
+            indexManager.drop();
+            filer.drop();
+        }
+
+        getCollectionRoot().delete();
+
+        // Drop symbols
+        if (!symbols.isReadOnly()) {
+            getSystemCollection().dropSymbols(this);
+        }
+
+        getDatabase().flushConfig();
+        return true;
+    }
+
+    /**
+     * @see org.apache.xindice.core.DBObject#close()
+     */
+    public boolean close() throws DBException {
+        // Close children collections first
+        super.close();
+
+        // Close its own filer
+        if (filer != null) {
+            indexManager.close();
+            filer.close();
+        }
+
+        return true;
+    }
+
+
+    // -- CollectionManager methods -----------------------------------------
+
+    public void setConfig(Configuration config) throws XindiceException {
+        name = config.getAttribute(NAME);
+        compressed = config.getBooleanAttribute(COMPRESSED, true);
+
+        /*
+         * If inline metadata is desired, get an InlineMetaService object.
+         */
+        if (config.getBooleanAttribute(INLINE_METADATA, false)) {
+            inlineMetaService = new InlineMetaService();
+        }
+
+        /*
+         * Wait to set up the local debug header until everything needed
+         * by debugHeader() is complete!
+         */
+        final String localDebugHeader = debugHeader() + "setConfig: ";
+
+        // Set parent
+        if (parent != null) {
+            setCanonicalName(parent.getCanonicalName() + '/' + name);
+            setCollectionRoot(new File(parent.getCollectionRoot(), name));
+            if (log.isDebugEnabled()) {
+                log.debug(localDebugHeader + "Root=<" + getCollectionRoot() + 
">");
+            }
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug(localDebugHeader
+                      + (compressed ? "Compressed" : "NOT Compressed")
+                      + ", "
+                      + (inlineMetaService == null ? "Inline metadata 
DISABLED" : "Inline metadata ENABLED")
+            );
+        }
+
+        if (config.getBooleanAttribute(CACHE, true)) {
+            documentCache = getDatabase().getDocumentCache();
+        }
+
+        // If no Filer is defined, skip Symbols and Indexes
+        Configuration filerConfig = config.getChild(FILER);
+        if (filerConfig != null) {
+            if (log.isTraceEnabled()) {
+                log.trace(localDebugHeader + "Have filer config...");
+            }
+
+            // Symbol Table Setup
+            Configuration symConfig = config.getChild(SYMBOLS);
+            if (symConfig != null) {
+                if (log.isTraceEnabled()) {
+                    log.trace(localDebugHeader +
+                              "Internal symbols=<" + 
TextWriter.toString(symConfig.getElement()) + ">");
+                }
+
+                try {
+                    symbols = new SymbolTable(symConfig.getElement(), true);
+                } catch (Exception e) {
+                    if (log.isWarnEnabled()) {
+                        log.warn(localDebugHeader + "Error building symbol 
table from internal symbols", e);
+                    }
+                }
+            } else {
+                if (log.isTraceEnabled()) {
+                    log.trace(localDebugHeader + "No internal symbols...");
+                }
+
+                try {
+                    symbols = getSystemCollection().loadSymbols(this);
+                    if (log.isDebugEnabled()) {
+                        log.debug(localDebugHeader + "Loaded symbols=<" +
+                                  TextWriter.toString(symbols.streamToXML(new 
DocumentImpl())) + ">");
+                    }
+                } catch (Exception e) {
+                    if (log.isWarnEnabled()) {
+                        log.warn(localDebugHeader + "Error loading symbol 
table from system collection", e);
+                    }
+                }
+            }
+
+            String className = filerConfig.getAttribute(CLASS);
+            if (log.isDebugEnabled()) {
+                log.debug(localDebugHeader + "Filer class=<" + className + 
">");
+            }
+            try {
+                filer = (Filer) Class.forName(className).newInstance();
+                filer.setLocation(getCollectionRoot(), getName());
+                filer.setConfig(filerConfig);
+                if (!filer.exists()) {
+                    filer.create();
+                }
+                filer.open();
+            } catch (Exception e) {
+                if (log.isWarnEnabled()) {
+                    log.warn("Filer '" + className + "' is not available", e);
+                }
+            }
+
+            // Index Manager
+            try {
+                indexManager = new IndexManager(this, 
getDatabase().getTimer());
+                Configuration idxConfig = config.getChild(INDEXES, true);
+                indexManager.setConfig(idxConfig);
+            } catch (Exception e) {
+                if (log.isWarnEnabled()) {
+                    log.warn("Failed to initialize indexer", e);
+                }
+            }
+        }
+
+        // Last thing to do is to init child collections
+        super.setConfig(config);
+
+        // observer
+        DBObserver.getInstance().setCollectionConfig(this, config);
+    }
+
     /**
      * @see CollectionManager#createCollection(String, Configuration)
      */
@@ -291,6 +537,136 @@
     }
 
     /**
+     * @see CollectionManager#dropCollection(Collection)
+     */
+    public final boolean dropCollection(Collection collection) throws 
DBException {
+        boolean success = super.dropCollection(collection);
+        getDatabase().flushConfig();
+        return success;
+    }
+
+    // -- Core Collection API Public Methods --------------------------------
+
+    /**
+     * getDatabase returns the Database owner for this Collection.
+     *
+     * @return The Database
+     */
+    public Database getDatabase() {
+        return parent.getDatabase();
+    }
+
+    /**
+     * getParentCollection returns the parent Collection of this
+     * Collection.
+     *
+     * @return The parent Collection (or null)
+     * @throws DBException if operation failed
+     */
+    public final Collection getParentCollection() throws DBException {
+        return parent;
+    }
+
+
+    /**
+     * getSystemCollection returns the System Collection.
+     *
+     * @return The System Collection
+     */
+    public SystemCollection getSystemCollection() {
+        return getDatabase().getSystemCollection();
+    }
+
+    /**
+     * Return the MetaSystemCollection for the database containing this
+     * collection.
+     *
+     * @return MetaSystemCollection
+     */
+    private MetaSystemCollection getMetaSystemCollection() {
+        return getDatabase().getMetaSystemCollection();
+    }
+
+    public final String getName() {
+        return name;
+    }
+
+    /**
+     * getCanonicalName returns the canonical name of this Collection.
+     * <br>
+     * ex: /local/test/ocs
+     *
+     * @return The canonical name of the Collection
+     */
+    public final String getCanonicalName() {
+        return canonicalName;
+    }
+
+    /**
+     * getCanonicalDocumentName returns the canonical name for the specified
+     * Key in relation to this Collection.
+     * <br>
+     * ex: /local/test/ocs/ytd
+     *
+     * @param key The Key
+     * @return The canonical name
+     */
+    public final String getCanonicalDocumentName(Key key) {
+        return getCanonicalDocumentName(key.toString());
+    }
+
+    /**
+     * From the document key and this collection canonical name,
+     * composes canonical document name.
+     *
+     * @param key document key
+     * @return The canonical document name
+     */
+    public final String getCanonicalDocumentName(String key) {
+        return canonicalName + '/' + key;
+    }
+
+    /**
+     * @return The collection root
+     */
+    public final File getCollectionRoot() {
+        return collectionRoot;
+    }
+
+    /**
+     * getSymbols returns the SymbolTable in use by this
+     * Collection.
+     *
+     * @return The Symbol Table
+     */
+    public final SymbolTable getSymbols() {
+        return symbols;
+    }
+
+    /**
+     * getFiler returns the low-level Filer instance underlying the
+     * Collection instance.
+     *
+     * @return The requested Filer
+     */
+    public final Filer getFiler() {
+        return filer;
+    }
+
+    /**
+     * getQueryEngine returns the Database's Query Engine
+     *
+     * @return The Query Engine
+     * @throws DBException if operation failed
+     */
+    public QueryEngine getQueryEngine() throws DBException {
+        return getDatabase().getQueryEngine();
+    }
+
+
+    // ----------------------------------------------------------------------
+
+    /**
      * createIndexer creates a new Indexer object and any associated
      * system resources that the Indexer will need.
      *
@@ -345,59 +721,6 @@
         return new Key(sb.toString());
     }
 
-    private String debugHeader() {
-        return "["
-                + Thread.currentThread().getName()
-                + "] '"
-                + (parent != null ? parent.getCanonicalName() : "")
-                + "/"
-                + name
-                + "' ";
-    }
-
-    /**
-     * @see org.apache.xindice.core.DBObject#drop()
-     */
-    public boolean drop() throws DBException {
-        DBObserver.getInstance().dropCollection(this);
-
-        // Drop the meta if necessary
-        if (isMetaEnabled()) {
-            getMetaSystemCollection().dropCollectionMeta(this);
-        }
-
-        // Drop Child Collections
-        String[] cols = listCollections();
-        for (int i = 0; i < cols.length; i++) {
-            dropCollection(getCollection(cols[i]));
-        }
-
-        if (filer != null) {
-            // Drop Indexers and Filer
-            indexManager.drop();
-            filer.drop();
-        }
-
-        getCollectionRoot().delete();
-
-        // Drop symbols
-        if (!symbols.isReadOnly()) {
-            getSystemCollection().dropSymbols(this);
-        }
-
-        getDatabase().flushConfig();
-        return true;
-    }
-
-    /**
-     * @see CollectionManager#dropCollection(Collection)
-     */
-    public final boolean dropCollection(Collection collection) throws 
DBException {
-        boolean success = super.dropCollection(collection);
-        getDatabase().flushConfig();
-        return success;
-    }
-
     /**
      * dropIndexer physically removes the specified Indexer and any
      * associated system resources that the Indexer uses.
@@ -420,22 +743,6 @@
     }
 
     /**
-     * @see org.apache.xindice.core.DBObject#exists()
-     */
-    public boolean exists() throws DBException {
-        return true;
-    }
-
-    /**
-     * @throws DBException if operation failed
-     */
-    public final void flushSymbolTable() throws DBException {
-        if (symbols.isDirty()) {
-            getSystemCollection().saveSymbols(this, symbols);
-        }
-    }
-
-    /**
      * Retrieve a binary database entry by key.
      * This low-level method will not update non-inline metadata.
      *
@@ -473,45 +780,6 @@
     }
 
     /**
-     * getCanonicalDocumentName returns the canonical name for the specified
-     * Key in relation to this Collection.
-     * <br>
-     * ex: /local/test/ocs/ytd
-     *
-     * @param key The Key
-     * @return The canonical name
-     */
-    public final String getCanonicalDocumentName(Key key) {
-        return getCanonicalDocumentName(key.toString());
-    }
-
-    /**
-     * From the document key and this collection canonical name,
-     * composes canonical document name.
-     *
-     * @param key document key
-     * @return The canonical document name
-     */
-    public final String getCanonicalDocumentName(String key) {
-        StringBuffer sb = new StringBuffer();
-        sb.append(canonicalName);
-        sb.append('/');
-        sb.append(key);
-        return sb.toString();
-    }
-
-    /**
-     * getCanonicalName returns the canonical name for this Object.
-     * <br>
-     * ex: /local/test/ocs
-     *
-     * @return The canonical name
-     */
-    public final String getCanonicalName() {
-        return canonicalName;
-    }
-
-    /**
      * Return the MetaData for this collection.
      *
      * If metadata is not enabled in the configuration, the MetaData object
@@ -536,14 +804,7 @@
             metacol.setCollectionMeta(this, meta);
         }
 
-        return meta;
-    }
-
-    /**
-     * @return The collection root
-     */
-    public final File getCollectionRoot() {
-        return collectionRoot;
+        return meta;
     }
 
     /**
@@ -562,15 +823,6 @@
     }
 
     /**
-     * getDatabase returns the Database owner for this Collection.
-     *
-     * @return The Database
-     */
-    public Database getDatabase() {
-        return parent.getDatabase();
-    }
-
-    /**
      * getDocument retrieves a Document by Key.
      *
      * @param key The Document Key
@@ -628,7 +880,7 @@
 
         Key key = getIdentityKey(createNewKey(id));
         synchronized (key) {
-            if (null == getEntry(id)) {
+            if (getEntry(id) == null) {
                 throw new DBException(FaultCodes.COL_DOCUMENT_NOT_FOUND,
                                       "Resource '" + id + "' does not exist in 
'" + getCanonicalName() + "'");
             }
@@ -653,7 +905,7 @@
 
             // this is wrong.. but it should work for now...
             long now = System.currentTimeMillis();
-            if (null == meta) {
+            if (meta == null) {
                 meta = new MetaData(MetaData.DOCUMENT, 
getCanonicalDocumentName(id), now, now);
                 metacol.setDocumentMeta(this, id, meta);
             } else if (!meta.hasContext()) {
@@ -836,16 +1088,6 @@
     }
 
     /**
-     * getFiler returns the low-level Filer instances underlying the
-     * Collection instance.
-     *
-     * @return The requested Filer
-     */
-    public final Filer getFiler() {
-        return filer;
-    }
-
-    /**
      * getIndexer retrieves an Indexer by name.
      *
      * @param name The Indexer name
@@ -869,20 +1111,6 @@
     }
 
     /**
-     * Return the MetaSystemCollection for the database containing this
-     * collection.
-     *
-     * @return MetaSystemCollection
-     */
-    private MetaSystemCollection getMetaSystemCollection() {
-        return getDatabase().getMetaSystemCollection();
-    }
-
-    public final String getName() {
-        return name;
-    }
-
-    /**
      * getObject instantiates and returns an XMLSerializable object based on 
the
      * provided Key.  Xindice takes care of instantiating the correct class, 
but
      * only if a class was registered with the Document in the first place.
@@ -926,46 +1154,6 @@
     }
 
     /**
-     * getParentCollection returns the parent Collection of this
-     * Collection.
-     *
-     * @return The parent Collection (or null)
-     * @throws DBException if operation failed
-     */
-    public final Collection getParentCollection() throws DBException {
-        return parent;
-    }
-
-    /**
-     * getQueryEngine returns the Database's Query Engine
-     *
-     * @return The Query Engine
-     * @throws DBException if operation failed
-     */
-    public QueryEngine getQueryEngine() throws DBException {
-        return getDatabase().getQueryEngine();
-    }
-
-    /**
-     * getSymbols returns the SymbolTable in use by this
-     * Collection.
-     *
-     * @return The Symbol Table
-     */
-    public final SymbolTable getSymbols() {
-        return symbols;
-    }
-
-    /**
-     * getSystemCollection returns the System Collection.
-     *
-     * @return The System Collection
-     */
-    public SystemCollection getSystemCollection() {
-        return getDatabase().getSystemCollection();
-    }
-
-    /**
      * Insert a binary object into a Xindice Collection.  A unique key
      * is automatically generated. by which the binary object can be
      * retrieved in the future.  Note: because the key is automatically
@@ -1083,16 +1271,6 @@
         return getDatabase().isMetaEnabled();
     }
 
-    public boolean isOpened() {
-        // Collection without filer is always open ... for now.
-        //noinspection SimplifiableIfStatement
-        if (filer == null) {
-            return true;
-        }
-
-        return filer.isOpened();
-    }
-
     /**
      * listDocuments returns a list of all entry keys stored by this
      * collection.
@@ -1134,10 +1312,6 @@
         return indexManager.list();
     }
 
-    public final boolean open() throws DBException {
-        return true;
-    }
-
     /**
      * Turns an XML string into a parsed document retrieved
      * from the uncompressed collection.
@@ -1455,21 +1629,6 @@
         DBObserver.getInstance().dropDocument(this, objKey);
     }
 
-    protected final void setCanonicalName(String canonicalName) {
-        this.canonicalName = canonicalName;
-
-        // Calculate The OID Template
-        StringBuffer sb = new StringBuffer("00000000000000000000000000000000");
-        String host = Integer.toString(host_id, 16);
-        sb.insert(8 - host.length(), host);
-
-        String collection = 
Integer.toString(Math.abs(canonicalName.hashCode()), 16);
-        sb.insert(16 - collection.length(), collection);
-        
-        sb.setLength(32);
-        oidTemplate = sb.toString();
-    }
-
     /**
      * Reset the metadata object for this collection.
      *
@@ -1497,131 +1656,6 @@
         }
     }
 
-    protected final void setCollectionRoot(File collectionRoot) {
-        this.collectionRoot = collectionRoot;
-        if (!collectionRoot.exists()) {
-            if (log.isTraceEnabled()) {
-                log.trace("Creating directories: " + collectionRoot);
-            }
-            collectionRoot.mkdirs();
-        }
-    }
-
-    public void setConfig(Configuration config) throws XindiceException {
-        name = config.getAttribute(NAME);
-        compressed = config.getBooleanAttribute(COMPRESSED, true);
-
-        /*
-         * If inline metadata is desired, get an InlineMetaService object.
-         */
-        if (config.getBooleanAttribute(INLINE_METADATA, false)) {
-            inlineMetaService = new InlineMetaService();
-        }
-
-        /*
-         * Wait to set up the local debug header until everything needed
-         * by debugHeader() is complete!
-         */
-        final String localDebugHeader = debugHeader() + "setConfig: ";
-
-        // Set parent
-        if (parent != null) {
-            setCanonicalName(parent.getCanonicalName() + '/' + name);
-            setCollectionRoot(new File(parent.getCollectionRoot(), name));
-            if (log.isDebugEnabled()) {
-                log.debug(localDebugHeader + "Root=<" + getCollectionRoot() + 
">");
-            }
-        }
-
-        if (log.isDebugEnabled()) {
-            log.debug(localDebugHeader
-                      + (compressed ? "Compressed" : "NOT Compressed")
-                      + ", "
-                      + (inlineMetaService == null ? "Inline metadata 
DISABLED" : "Inline metadata ENABLED")
-            );
-        }
-
-        if (config.getBooleanAttribute(CACHE, true)) {
-            documentCache = getDatabase().getDocumentCache();
-        }
-
-        // If no Filer is defined, skip Symbols and Indexes
-        Configuration filerConfig = config.getChild(FILER);
-        if (filerConfig != null) {
-            if (log.isTraceEnabled()) {
-                log.trace(localDebugHeader + "Have filer config...");
-            }
-
-            // Symbol Table Setup
-            Configuration symConfig = config.getChild(SYMBOLS);
-            if (symConfig != null) {
-                if (log.isTraceEnabled()) {
-                    log.trace(localDebugHeader +
-                              "Internal symbols=<" + 
TextWriter.toString(symConfig.getElement()) + ">");
-                }
-
-                try {
-                    symbols = new SymbolTable(symConfig.getElement(), true);
-                } catch (Exception e) {
-                    if (log.isWarnEnabled()) {
-                        log.warn(localDebugHeader + "Error building symbol 
table from internal symbols", e);
-                    }
-                }
-            } else {
-                if (log.isTraceEnabled()) {
-                    log.trace(localDebugHeader + "No internal symbols...");
-                }
-
-                try {
-                    symbols = getSystemCollection().loadSymbols(this);
-                    if (log.isDebugEnabled()) {
-                        log.debug(localDebugHeader + "Loaded symbols=<" +
-                                  TextWriter.toString(symbols.streamToXML(new 
DocumentImpl())) + ">");
-                    }
-                } catch (Exception e) {
-                    if (log.isWarnEnabled()) {
-                        log.warn(localDebugHeader + "Error loading symbol 
table from system collection", e);
-                    }
-                }
-            }
-
-            String className = filerConfig.getAttribute(CLASS);
-            if (log.isDebugEnabled()) {
-                log.debug(localDebugHeader + "Filer class=<" + className + 
">");
-            }
-            try {
-                filer = (Filer) Class.forName(className).newInstance();
-                filer.setLocation(getCollectionRoot(), getName());
-                filer.setConfig(filerConfig);
-                if (!filer.exists()) {
-                    filer.create();
-                }
-                filer.open();
-            } catch (Exception e) {
-                if (log.isWarnEnabled()) {
-                    log.warn("Filer '" + className + "' is not available", e);
-                }
-            }
-
-            // Index Manager
-            try {
-                indexManager = new IndexManager(this, 
getDatabase().getTimer());
-                Configuration idxConfig = config.getChild(INDEXES, true);
-                indexManager.setConfig(idxConfig);
-            } catch (Exception e) {
-                if (log.isWarnEnabled()) {
-                    log.warn("Failed to initialize indexer", e);
-                }
-            }
-        }
-
-        // Last thing to do is to init child collections
-        super.setConfig(config);
-
-        // observer
-        DBObserver.getInstance().setCollectionConfig(this, config);
-    }
-
     /**
      * setDocument inserts or updates an existing Document in a
      * Xindice Collection.
@@ -1712,13 +1746,6 @@
     }
 
     /**
-     * @param name collection name
-     */
-    protected void setName(String name) {
-        this.name = name;
-    }
-
-    /**
      * setObject sets an XMLSerializable object in the Collection based on the
      * provided Key.  Xindice takes care of associating the implementation 
class
      * with the XMLSerializable object.
@@ -1816,21 +1843,5 @@
         }
 
         metacol.setDocumentMeta(this, id, meta);
-    }
-
-    private Key getIdentityKey(Key key) {
-        synchronized (identityMap) {
-            Key id = null;
-            WeakReference ref = (WeakReference) identityMap.get(key);
-            if (ref != null) {
-                id = (Key) ref.get();
-            }
-            if (id == null) {
-                id = key;
-                identityMap.put(id, new WeakReference(id));
-            }
-
-            return id;
-        }
     }
 }


Reply via email to