queryByKeyPrefix method updates BLD200211131011
authordprusa@netbeans.org
Tue, 12 Nov 2002 15:09:14 +0000
changeset 1121748ab28e0481
parent 1120 d2d5bd6d5c0c
child 1122 0b200195452b
queryByKeyPrefix method updates
mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreeindex/StringInfo.java
mdr/src/org/netbeans/mdr/persistence/memoryimpl/MultivaluedIndexImpl.java
mdr/src/org/netbeans/mdr/persistence/memoryimpl/SinglevaluedIndexImpl.java
mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientMultivaluedIndex.java
mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientSinglevaluedIndex.java
     1.1 --- a/mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreeindex/StringInfo.java	Tue Nov 12 15:07:57 2002 +0000
     1.2 +++ b/mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreeindex/StringInfo.java	Tue Nov 12 15:09:14 2002 +0000
     1.3 @@ -74,16 +74,20 @@
     1.4          StringBuffer sb = new StringBuffer(length);
     1.5          do {
     1.6              int b = buffer[offset++] & 0xff;
     1.7 +            length--;
     1.8              if (b >= 0xe0) {
     1.9                  b = (b & 0x0f) << 12;
    1.10                  b |= (buffer[offset++] & 0x3f) << 6;
    1.11                  b |= buffer[offset++] & 0x3f;
    1.12 +                length--;
    1.13 +                length--;
    1.14              } else if (b >= 0xc0) {
    1.15                  b = (b & 0x1f) << 6;
    1.16                  b |= buffer[offset++] & 0x3f;
    1.17 +                length--;
    1.18              }
    1.19              sb.append((char)b);
    1.20 -        } while (--length > 0);
    1.21 +        } while (length > 0);
    1.22          return new String(sb);
    1.23      }
    1.24      
     2.1 --- a/mdr/src/org/netbeans/mdr/persistence/memoryimpl/MultivaluedIndexImpl.java	Tue Nov 12 15:07:57 2002 +0000
     2.2 +++ b/mdr/src/org/netbeans/mdr/persistence/memoryimpl/MultivaluedIndexImpl.java	Tue Nov 12 15:09:14 2002 +0000
     2.3 @@ -119,7 +119,11 @@
     2.4      }
     2.5  
     2.6      public synchronized java.util.Collection getObjects(Object key, SinglevaluedIndex s) throws StorageException {
     2.7 -        return new MOWrapper((List) getItems(key), s);
     2.8 +        if (keyType == Storage.EntryType.MOFID) {
     2.9 +            return new MOWrapper((List) getItems(key), s);
    2.10 +        } else {
    2.11 +            return getItems(key);
    2.12 +        }
    2.13      }
    2.14      
    2.15      /** Removes the first occurrence of the specified element in the list
    2.16 @@ -185,7 +189,7 @@
    2.17          Iterator iter = entries.keySet().iterator ();
    2.18          while (iter.hasNext ()) {            
    2.19              String key = (String) iter.next ();
    2.20 -            if (key.equals (prefix)) {
    2.21 +            if (key.startsWith ((String) prefix)) {
    2.22                  result.add (new MapEntryImpl (key, getObjects (key, primaryIndex)));
    2.23              }
    2.24          }
     3.1 --- a/mdr/src/org/netbeans/mdr/persistence/memoryimpl/SinglevaluedIndexImpl.java	Tue Nov 12 15:07:57 2002 +0000
     3.2 +++ b/mdr/src/org/netbeans/mdr/persistence/memoryimpl/SinglevaluedIndexImpl.java	Tue Nov 12 15:09:14 2002 +0000
     3.3 @@ -175,8 +175,12 @@
     3.4       * @throws StorageException
     3.5       */
     3.6      public synchronized Object getObject (Object key, SinglevaluedIndex repos) throws StorageException {
     3.7 -        synchronized (repos) {
     3.8 -            return repos.get(get(key));
     3.9 +        if (keyType == Storage.EntryType.MOFID) {
    3.10 +            synchronized (repos) {
    3.11 +                return repos.get(get(key));
    3.12 +            }
    3.13 +        } else {
    3.14 +            return get(key);
    3.15          }
    3.16      }
    3.17  
    3.18 @@ -201,8 +205,12 @@
    3.19          if (val == null) {
    3.20              return null;
    3.21          } else {
    3.22 -            synchronized (repos) {
    3.23 -                return repos.get(val);
    3.24 +            if (keyType == Storage.EntryType.MOFID) {
    3.25 +                synchronized (repos) {
    3.26 +                    return repos.get(val);
    3.27 +                }
    3.28 +            } else {
    3.29 +                return val;
    3.30              }
    3.31          }
    3.32      }
    3.33 @@ -267,8 +275,8 @@
    3.34          Iterator iter = table.keySet().iterator ();
    3.35          while (iter.hasNext ()) {            
    3.36              String key = (String) iter.next ();
    3.37 -            if (key.equals (prefix)) {
    3.38 -                result. add (new MapEntryImpl (key, getObject (key, primaryIndex)));
    3.39 +            if (key.startsWith ((String) prefix)) {
    3.40 +                result.add (new MapEntryImpl (key, getObject (key, primaryIndex)));
    3.41              }
    3.42          }
    3.43          return result;
     4.1 --- a/mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientMultivaluedIndex.java	Tue Nov 12 15:07:57 2002 +0000
     4.2 +++ b/mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientMultivaluedIndex.java	Tue Nov 12 15:09:14 2002 +0000
     4.3 @@ -448,7 +448,7 @@
     4.4          Iterator iter = keySet().iterator ();
     4.5          while (iter.hasNext ()) {            
     4.6              String key = (String) iter.next ();
     4.7 -            if (key.equals (prefix)) {
     4.8 +            if (key.startsWith ((String) prefix)) {
     4.9                  result.add (new MapEntryImpl (key, getObjects (key, primaryIndex)));
    4.10              }
    4.11          }
     5.1 --- a/mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientSinglevaluedIndex.java	Tue Nov 12 15:07:57 2002 +0000
     5.2 +++ b/mdr/src/org/netbeans/mdr/storagemodel/transientimpl/TransientSinglevaluedIndex.java	Tue Nov 12 15:09:14 2002 +0000
     5.3 @@ -357,7 +357,7 @@
     5.4          Iterator iter = keySet().iterator ();
     5.5          while (iter.hasNext ()) {            
     5.6              String key = (String) iter.next ();
     5.7 -            if (key.equals (prefix)) {
     5.8 +            if (key.startsWith ((String) prefix)) {
     5.9                  result.add (new MapEntryImpl (key, getObject (key, primaryIndex)));
    5.10              }
    5.11          }