コード例 #1
0
        public static T GetConfigurationValue <T>(this IStorageActionsAccessor accessor, string key)
        {
            var value = accessor.GetConfig(key);

            if (typeof(T).IsValueType || typeof(T) == typeof(string))
            {
                return(value.Value <T>("Value"));
            }

            return(JsonExtensions.JsonDeserialization <T>(value));
        }
コード例 #2
0
        public bool TimeoutExceeded(string fileName, IStorageActionsAccessor accessor)
        {
            SynchronizationLock syncLock;

            try
            {
                syncLock = accessor.GetConfig(RavenFileNameHelper.SyncLockNameForFile(fileName)).JsonDeserialization <SynchronizationLock>();
            }
            catch (FileNotFoundException)
            {
                return(true);
            }

            return(DateTime.UtcNow - syncLock.FileLockedAt > SynchronizationTimeout(accessor));
        }
コード例 #3
0
        public static SynchronizationConfig GetOrDefault(IStorageActionsAccessor accessor)
        {
            try
            {
                if (accessor.ConfigExists(SynchronizationConstants.RavenSynchronizationConfig) == false)
                    return new SynchronizationConfig(); // return a default one

                return accessor.GetConfig(SynchronizationConstants.RavenSynchronizationConfig).JsonDeserialization<SynchronizationConfig>();
            }
            catch (Exception e)
            {
                Log.Warn("Could not deserialize a synchronization configuration", e);
                return new SynchronizationConfig(); // return a default one
            }
        }
コード例 #4
0
ファイル: FileLockManager.cs プロジェクト: IdanHaim/ravendb
        public bool TimeoutExceeded(string fileName, IStorageActionsAccessor accessor)
        {
            SynchronizationLock syncLock;

            try
            {
                syncLock = accessor.GetConfig(RavenFileNameHelper.SyncLockNameForFile(fileName)).JsonDeserialization<SynchronizationLock>();				
            }
            catch (FileNotFoundException)
            {
                return true;
            }

            return (DateTime.UtcNow - syncLock.FileLockedAt).TotalMilliseconds > SynchronizationConfigAccessor.GetOrDefault(accessor).SynchronizationLockTimeoutMiliseconds;
        }
コード例 #5
0
        public static VersioningConfiguration GetVersioningConfiguration(this IStorageActionsAccessor accessor)
        {
            if (IsVersioningActive(accessor) == false)
            {
                return(null);
            }

            var configuration = accessor.GetConfig(DefaultConfigurationName);

            if (configuration == null)
            {
                return(null);
            }

            return(configuration.JsonDeserialization <VersioningConfiguration>());
        }
コード例 #6
0
 public static SynchronizationConfig GetOrDefault(IStorageActionsAccessor accessor)
 {
     try
     {
         if (accessor.ConfigExists(SynchronizationConstants.RavenSynchronizationConfig) == false)
         {
             return(new SynchronizationConfig()); // return a default one
         }
         return(accessor.GetConfig(SynchronizationConstants.RavenSynchronizationConfig).JsonDeserialization <SynchronizationConfig>());
     }
     catch (Exception e)
     {
         Log.Warn("Could not deserialize a synchronization configuration", e);
         return(new SynchronizationConfig()); // return a default one
     }
 }
コード例 #7
0
ファイル: FileLockManager.cs プロジェクト: randacc/ravendb
		public bool TimeoutExceeded(string fileName, IStorageActionsAccessor accessor)
		{
			SynchronizationLock syncLock;

			try
			{
				syncLock =
					accessor.GetConfig(RavenFileNameHelper.SyncLockNameForFile(fileName)).AsObject<SynchronizationLock>();
			}
			catch (FileNotFoundException)
			{
				return true;
			}

			return DateTime.UtcNow - syncLock.FileLockedAt > SynchronizationTimeout(accessor);
		}
コード例 #8
0
ファイル: VersioningUtil.cs プロジェクト: GorelH/ravendb
		private static bool TryGetDeserializedConfig(IStorageActionsAccessor accessor, string configurationName, out FileVersioningConfiguration fileVersioningConfiguration)
		{
			if (accessor.ConfigExists(configurationName) == false)
			{
				fileVersioningConfiguration = null;
				return false;
			}

			var configuration = accessor.GetConfig(configurationName);
			if (configuration == null)
			{
				fileVersioningConfiguration = null;
				return false;
			}

			fileVersioningConfiguration = configuration.JsonDeserialization<FileVersioningConfiguration>();
			return true;
		}
コード例 #9
0
        private static bool TryGetDeserializedConfig(IStorageActionsAccessor accessor, string configurationName, out FileVersioningConfiguration fileVersioningConfiguration)
        {
            if (accessor.ConfigExists(configurationName) == false)
            {
                fileVersioningConfiguration = null;
                return(false);
            }

            var configuration = accessor.GetConfig(configurationName);

            if (configuration == null)
            {
                fileVersioningConfiguration = null;
                return(false);
            }

            fileVersioningConfiguration = configuration.JsonDeserialization <FileVersioningConfiguration>();
            return(true);
        }
コード例 #10
0
        private SourceSynchronizationInformation GetLastSynchronization(Guid from, IStorageActionsAccessor accessor)
        {
            SourceSynchronizationInformation info;

            try
            {
                info = accessor.GetConfig(SynchronizationConstants.RavenSynchronizationSourcesBasePath + "/" + from)
                       .JsonDeserialization <SourceSynchronizationInformation>();
            }
            catch (FileNotFoundException)
            {
                info = new SourceSynchronizationInformation
                {
                    LastSourceFileEtag  = Guid.Empty,
                    DestinationServerId = Storage.Id
                };
            }

            return(info);
        }
コード例 #11
0
		private SourceSynchronizationInformation GetLastSynchronization(Guid from, IStorageActionsAccessor accessor)
		{
			SourceSynchronizationInformation info;
			try
			{
				info =
					accessor.GetConfig(SynchronizationConstants.RavenSynchronizationSourcesBasePath + "/" + from).AsObject
						<SourceSynchronizationInformation>();
			}
			catch (FileNotFoundException)
			{
				info = new SourceSynchronizationInformation
				{
					LastSourceFileEtag = Guid.Empty,
					DestinationServerId = Storage.Id
				};
			}

			return info;
		}