Exemple #1
0
            public void Run()
            {
                saveAsBin.Sync();
                saveAsBin.Close();
                try
                {
                    File4.Copy(oldUri, newUri);
                }
                catch (Exception e)
                {
                    _enclosing.ReopenOldConfiguration(saveAsBin, oldConfiguration, newUri, e);
                }
                var newConfiguration = _enclosing.PointToNewUri(oldConfiguration
                                                                , newUri);

                try
                {
                    var newBin = _enclosing._storage.Open(newConfiguration);
                    saveAsBin.DelegateTo(newBin);
                    _enclosing._binRecords.Remove(oldUri);
                    _enclosing._binRecords.Put(newUri, new BinRecord(newConfiguration
                                                                     , saveAsBin));
                }
                catch (Exception e)
                {
                    _enclosing.ReopenOldConfiguration(saveAsBin, oldConfiguration, newUri, e);
                }
            }
Exemple #2
0
        private void ReopenOldConfiguration(SaveAsBin saveAsBin, BinConfiguration
                                            config, string newUri, Exception e)
        {
            var safeBin = _storage.Open(config);

            saveAsBin.DelegateTo(safeBin);
            throw new Db4oException("Copying to " + newUri + " failed. Reopened " + config.Uri
                                        (), e);
        }
Exemple #3
0
 private void ReopenOldConfiguration(SaveAsBin saveAsBin, BinConfiguration
     config, string newUri, Exception e)
 {
     var safeBin = _storage.Open(config);
     saveAsBin.DelegateTo(safeBin);
     throw new Db4oException("Copying to " + newUri + " failed. Reopened " + config.Uri
         (), e);
 }