bugfix of getByMofId (added fromString method to MOFID, removed resolveMOFID from Storage)
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) {