bugfix of getByMofId (added fromString method to MOFID, removed resolveMOFID from Storage) BLD200211110100
authormmatula@netbeans.org
Wed, 06 Nov 2002 16:11:05 +0000
changeset 1113d1d6a75d2bd1
parent 1112 f4cf3e60c5f8
child 1114 71b0677744c2
bugfix of getByMofId (added fromString method to MOFID, removed resolveMOFID from Storage)
mdr/src/org/netbeans/mdr/NBMDRepositoryImpl.java
mdr/src/org/netbeans/mdr/persistence/MOFID.java
mdr/src/org/netbeans/mdr/persistence/Storage.java
mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreestorage/BtreeStorage.java
mdr/src/org/netbeans/mdr/persistence/memoryimpl/StorageImpl.java
mdr/src/org/netbeans/mdr/storagemodel/MdrStorage.java
     1.1 --- a/mdr/src/org/netbeans/mdr/NBMDRepositoryImpl.java	Wed Nov 06 15:54:05 2002 +0000
     1.2 +++ b/mdr/src/org/netbeans/mdr/NBMDRepositoryImpl.java	Wed Nov 06 16:11:05 2002 +0000
     1.3 @@ -277,7 +277,7 @@
     1.4          initCheck();
     1.5          try {
     1.6              beginTrans(false);
     1.7 -            StorableBaseObject storable = mdrStorage.getObject(mdrStorage.resolveMOFID(mofId));
     1.8 +            StorableBaseObject storable = mdrStorage.getObject(MOFID.fromString(mofId));
     1.9              return BaseObjectHandler.getHandler(storable);
    1.10          } catch (StorageException e) {
    1.11              return null;
     2.1 --- a/mdr/src/org/netbeans/mdr/persistence/MOFID.java	Wed Nov 06 15:54:05 2002 +0000
     2.2 +++ b/mdr/src/org/netbeans/mdr/persistence/MOFID.java	Wed Nov 06 16:11:05 2002 +0000
     2.3 @@ -130,4 +130,13 @@
     2.4  	}
     2.5      }	
     2.6      
     2.7 +    public static MOFID fromString(String mofId) {
     2.8 +        int pos = mofId.lastIndexOf(':');
     2.9 +        if (pos >= 0) try {
    2.10 +            return new MOFID(Long.parseLong(mofId.substring(pos + 1), 16), mofId.substring(0, pos));
    2.11 +        } catch (NumberFormatException e) {
    2.12 +        } catch (IndexOutOfBoundsException e) {
    2.13 +        }
    2.14 +        return null;
    2.15 +    }
    2.16  }
     3.1 --- a/mdr/src/org/netbeans/mdr/persistence/Storage.java	Wed Nov 06 15:54:05 2002 +0000
     3.2 +++ b/mdr/src/org/netbeans/mdr/persistence/Storage.java	Wed Nov 06 16:11:05 2002 +0000
     3.3 @@ -107,8 +107,6 @@
     3.4      
     3.5      public long getSerialNumber ();
     3.6      
     3.7 -    public MOFID resolveMOFID (String sMofId);
     3.8 -    
     3.9      /** Reads a MOFID from Storage, must be called in the
    3.10       *  streamable read context.
    3.11       *  @return MOFID red object
     4.1 --- a/mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreestorage/BtreeStorage.java	Wed Nov 06 15:54:05 2002 +0000
     4.2 +++ b/mdr/src/org/netbeans/mdr/persistence/btreeimpl/btreestorage/BtreeStorage.java	Wed Nov 06 16:11:05 2002 +0000
     4.3 @@ -349,19 +349,6 @@
     4.4          return false;
     4.5      }
     4.6      
     4.7 -    public org.netbeans.mdr.persistence.MOFID resolveMOFID (String sMofId) {
     4.8 -        int index = sMofId.indexOf (':');   // NOI18N
     4.9 -        if (index == -1)
    4.10 -            return null;
    4.11 -        String storageId = sMofId.substring (0,index);
    4.12 -        if (storageId.equals (this.getStorageId ())) {
    4.13 -            long serialNumber = Long.parseLong (sMofId.substring (index+1),16);
    4.14 -            return new MOFID (serialNumber, storageId);
    4.15 -        }
    4.16 -        else
    4.17 -            return null;
    4.18 -    }
    4.19 -    
    4.20      public void writeMOFID (java.io.OutputStream outputStream, MOFID mofId) throws StorageException {
    4.21         // this looks like it is not needed - MOFID's class is always org.netbeans.mdr.persistence.MOFID
    4.22  //       if (this.mofIdClassCode == -1) {
     5.1 --- a/mdr/src/org/netbeans/mdr/persistence/memoryimpl/StorageImpl.java	Wed Nov 06 15:54:05 2002 +0000
     5.2 +++ b/mdr/src/org/netbeans/mdr/persistence/memoryimpl/StorageImpl.java	Wed Nov 06 16:11:05 2002 +0000
     5.3 @@ -50,18 +50,6 @@
     5.4          this.persistent = persistent;
     5.5      }
     5.6      
     5.7 -    public MOFID resolveMOFID (String sMofId) {
     5.8 -        if (sMofId.startsWith(storageId + ':')) {
     5.9 -            try {
    5.10 -                long serialNumber = Long.parseLong(sMofId.substring(storageId.length() + 1));
    5.11 -                return new MOFID(serialNumber, storageId);
    5.12 -            } catch (NumberFormatException e) {
    5.13 -                return null;
    5.14 -            }
    5.15 -        }
    5.16 -        return null;
    5.17 -    }
    5.18 -    
    5.19      public void writeMOFID (OutputStream outputStream, MOFID mofid) throws StorageException {
    5.20          try {
    5.21              if (storageId.equals(mofid.getStorageID())) {
     6.1 --- a/mdr/src/org/netbeans/mdr/storagemodel/MdrStorage.java	Wed Nov 06 15:54:05 2002 +0000
     6.2 +++ b/mdr/src/org/netbeans/mdr/storagemodel/MdrStorage.java	Wed Nov 06 16:11:05 2002 +0000
     6.3 @@ -1393,17 +1393,6 @@
     6.4      /* -- Wrappers for org.netbeans.mdr.persistence.Storage methods ------- */
     6.5      /* -------------------------------------------------------------------- */
     6.6  
     6.7 -    public org.netbeans.mdr.persistence.MOFID resolveMOFID (String mofId) {
     6.8 -        org.netbeans.mdr.persistence.MOFID result = null;
     6.9 -        for (Iterator it = this.storages.values ().iterator (); it.hasNext ();) {
    6.10 -            Storage storage = (Storage) it.next ();
    6.11 -            result = storage.resolveMOFID (mofId);
    6.12 -            if (result != null)
    6.13 -                break;
    6.14 -        }
    6.15 -        return result;
    6.16 -    }
    6.17 -    
    6.18      public MOFID generateMOFID (MOFID immediatePackageId) throws StorageException {
    6.19          Storage st = null;
    6.20          if (immediatePackageId == null) {