diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java index 7b9622385f..c09232acf1 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/CommitTransactionRequest.java @@ -130,15 +130,18 @@ public class CommitTransactionRequest extends CDOClientRequest<CommitTransaction List<CDOPackage> newPackages = transaction.getNewPackages(); for (CDOPackage newPackage : newPackages) { - CDOIDMetaRange oldRange = newPackage.getMetaIDRange(); - CDOIDMetaRange newRange = CDOIDUtil.readMetaRange(in); - ((InternalCDOPackage)newPackage).setMetaIDRange(newRange); - for (int i = 0; i < oldRange.size(); i++) + if (newPackage.getParentURI() == null) { - CDOIDTemp oldID = (CDOIDTemp)oldRange.get(i); - CDOID newID = newRange.get(i); - session.remapMetaInstance(oldID, newID); - result.addIDMapping(oldID, newID); + CDOIDMetaRange oldRange = newPackage.getMetaIDRange(); + CDOIDMetaRange newRange = CDOIDUtil.readMetaRange(in); + ((InternalCDOPackage)newPackage).setMetaIDRange(newRange); + for (int i = 0; i < oldRange.size(); i++) + { + CDOIDTemp oldID = (CDOIDTemp)oldRange.get(i); + CDOID newID = newRange.get(i); + session.remapMetaInstance(oldID, newID); + result.addIDMapping(oldID, newID); + } } } |