コード例 #1
0
        public LayoutMetadataFactory(IProcessMetadataRepository processRepository)
        {
            if (processRepository == null)
                throw new ArgumentNullException("processRepository");

            _processMetadataRepository = processRepository;
        }
コード例 #2
0
ファイル: SearchUtilsTests.cs プロジェクト: mparsin/Elements
        public void TestInit()
        {
            _processRepository = Mock.Create<IProcessMetadataRepository>(Behavior.Loose);
            _dtm = Mock.Create<IDynamicTypeManager>(Behavior.Loose);
            _filterManager = Mock.Create<IFilterManager>(Behavior.Loose);
            _filterMetadataFactory = Mock.Create<IFilterMetadataFactory>(Behavior.Loose);
            _layoutManager = Mock.Create<ILayoutManager>(Behavior.Loose);
            _layoutMetadataFactory = Mock.Create<ILayoutMetadataFactory>(Behavior.Loose);

            _processMetadata = CreateProcess(ProcessName);
            Mock.Arrange(() => _processMetadata.SupportsStates).Returns(true);
            Mock.Arrange(() => _processRepository.GetProcessMetadata(ProcessName)).Returns(_processMetadata);
        }
コード例 #3
0
        public void TestInit()
        {
            _dynamicTypeManager = Mock.Create<IDynamicTypeManager>(Behavior.Loose);
            _filterManager = Mock.Create<IFilterManager>(Behavior.Loose);
            _layoutManager = Mock.Create<ILayoutManager>(Behavior.Loose);
            _searchUtils = Mock.Create<ISearchUtils>(Behavior.Loose);
            _processMetadataRepository = Mock.Create<IProcessMetadataRepository>(Behavior.Loose);
            _filterDescriptorFactory = Mock.Create<IFilterDescriptorFactory>(Behavior.Loose);
            _metricsManager = Mock.Create<IMetricsManager>(Behavior.Loose);
            _kpiManager = Mock.Create<IKPIManager>(Behavior.Loose);
            _filterRepository = Mock.Create<IFilterRepository>(Behavior.Loose);

            _processMetadata = Mock.Create<IProcessMetadata>(Behavior.Loose);
            Mock.Arrange(() => _processMetadata.Name).Returns(ProcessName);
            Mock.Arrange(() => _processMetadataRepository.GetProcessMetadata(ProcessName)).Returns(_processMetadata);
        }
コード例 #4
0
        public FilterMetadataFactory(
            IProcessMetadataRepository processRepository,
            IFilterDescriptorFactory filterDescriptorFactory,
            IFilteringUtils filteringUtils)
        {
            if (processRepository == null)
                throw new ArgumentNullException("processRepository");

            if (filterDescriptorFactory == null)
                throw new ArgumentNullException("filterDescriptorFactory");

            if (filteringUtils == null)
                throw new ArgumentNullException("filteringUtils");

            _processMetadataRepository = processRepository;
            _filterDescriptorFactory = filterDescriptorFactory;
            _filteringUtils = filteringUtils;
        }
コード例 #5
0
ファイル: FilteringUtils.cs プロジェクト: mparsin/Elements
        public FilteringUtils(IProcessMetadataRepository processRepository, IDynamicTypeManager dynamicTypeManager)
        {
            if (processRepository == null)
                throw new ArgumentNullException("processRepository");

            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            _processRepository = processRepository;
            _dynamicTypeManager = dynamicTypeManager;
        }
コード例 #6
0
ファイル: ProcessMetadata.cs プロジェクト: mparsin/Elements
        /// <summary>
        /// Initializes a new instance of the <see cref="ProcessMetadata"/> class.
        /// </summary>
        /// <param name="processName">
        /// The process name.
        /// </param>
        /// <param name="processMetadataRepository">
        /// The process metadata repository.
        /// </param>
        /// <param name="dynamicTypeManager">
        /// The dynamic type manager.
        /// </param>
        /// <exception cref="ArgumentException">
        /// The editable root type doesn't have a <see cref="ProcessInfoAttribute"/> attribute.
        /// </exception>
        public ProcessMetadata(string processName, IProcessMetadataRepository processMetadataRepository, IDynamicTypeManager dynamicTypeManager)
        {
            if (processMetadataRepository == null)
                throw new ArgumentNullException("processMetadataRepository");

            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            var editType = dynamicTypeManager.GetEditableRootType(processName);
            var infoType = dynamicTypeManager.GetInfoType(processName);

            _processInfo = editType.GetCustomAttribute<ProcessInfoAttribute>(false);
            if (_processInfo == null)
                throw new ArgumentException(@"ProcessInfo attribute not found.", "processName");

            _repository = processMetadataRepository;

            if (typeof(IHasParent).IsAssignableFrom(editType))
            {
                var baseEditProperty = editType.GetProperty(Constants.BaseEditPropertyName);

                if (baseEditProperty != null)
                {
                    _baseProcess = new Lazy<IProcessMetadata>(
                        () => Repository.GetProcessMetadata(baseEditProperty.PropertyType),
                        LazyThreadSafetyMode.PublicationOnly);
                }
            }

            var properties = editType.GetProperties(BindingFlags.Instance | BindingFlags.Public);

            var fields = new List<IFieldMetadata>();

            foreach (var editProperty in properties)
            {
                if (!Attribute.IsDefined(editProperty, typeof(FieldTypeAttribute), false))
                {
                    continue;
                }

                if (Attribute.IsDefined(editProperty, typeof(LocalizedFieldAttribute), false))
                {
                    continue;
                }

                var infoProperty = infoType.GetProperty(editProperty.Name, BindingFlags.Public | BindingFlags.Instance);

                fields.Add(FieldMetadataFactory.CreateFieldMetadata(this, editProperty, infoProperty));
            }

            _fields = new ReadOnlyCollection<IFieldMetadata>(fields);

            foreach (var field in Fields)
            {
                _fieldMap[field.Name] = field;
            }

            var supportedLocalizations = new List<ILocalizationInfo>(editType.GetCustomAttributes<LocalizationInfoAttribute>(false));
            _supportedLocalizations = new ReadOnlyCollection<ILocalizationInfo>(supportedLocalizations);

            var states = new List<IStateMetadata>();

            if (Attribute.IsDefined(editType, typeof(SupportsStatesAttribute), false))
            {
                _supportsStates = true;
                states.AddRange(editType.GetCustomAttributes<StateInfoAttribute>(false).Select(x => new StateMetadata(x)).OrderBy(s => s.Id));
            }

            _states = new ReadOnlyCollection<IStateMetadata>(states);

            _hiddenFields = new HashSet<string>(dynamicTypeManager.GetHiddenFields(processName));
        }
コード例 #7
0
 public void TestInit()
 {
     _processRepository = Mock.Create<IProcessMetadataRepository>(Behavior.Loose);
     _utils = Mock.Create<IUtils>(Behavior.Loose);
     _layoutManager = Mock.Create<ILayoutManager>(Behavior.Loose);
 }
コード例 #8
0
ファイル: SearchUtils.cs プロジェクト: mparsin/Elements
        public SearchUtils(
            IProcessMetadataRepository processMetadataRepository,
            IDynamicTypeManager dynamicTypeManager,
            IFilterManager filterManager,
            IFilterMetadataFactory filterMetadataFactory,
            ILayoutManager layoutManager,
            ILayoutMetadataFactory layoutMetadataFactory)
        {
            if (processMetadataRepository == null)
                throw new ArgumentNullException("processMetadataRepository");

            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            if (filterManager == null)
                throw new ArgumentNullException("filterManager");

            if (filterMetadataFactory == null)
                throw new ArgumentNullException("filterMetadataFactory");

            if (layoutManager == null)
                throw new ArgumentNullException("layoutManager");

            if (layoutMetadataFactory == null)
                throw new ArgumentNullException("layoutMetadataFactory");

            _processMetadataRepository = processMetadataRepository;
            _dynamicTypeManager = dynamicTypeManager;
            _filterManager = filterManager;
            _filterMetadataFactory = filterMetadataFactory;
            _layoutManager = layoutManager;
            _layoutMetadataFactory = layoutMetadataFactory;
        }
コード例 #9
0
ファイル: FilterRepository.cs プロジェクト: mparsin/Elements
        public FilterRepository(
            IProcessMetadataRepository processRepository,
            IDynamicTypeManager dynamicTypeManager,
            IUtils utils,
            IFilterManager filterManager)
        {
            if (processRepository == null)
                throw new ArgumentNullException("processRepository");

            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            if (utils == null)
                throw new ArgumentNullException("utils");

            if (filterManager == null)
                throw new ArgumentNullException("filterManager");

            _processRepository = processRepository;
            _dynamicTypeManager = dynamicTypeManager;
            _utils = utils;
            _filterManager = filterManager;
        }
コード例 #10
0
        public SearchCommandFactory(
            IDynamicTypeManager dynamicTypeManager,
            IFilterManager filterManager,
            ILayoutManager layoutManager,
            ISearchUtils searchUtils,
            IProcessMetadataRepository processMetadataRepository,
            IFilterDescriptorFactory filterDescriptorFactory,
            IMetricsManager metricsManager,
            IKPIManager kpiManager,
            IFilterRepository filterRepository)
        {
            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            if (filterManager == null)
                throw new ArgumentNullException("filterManager");

            if (layoutManager == null)
                throw new ArgumentNullException("layoutManager");

            if (searchUtils == null)
                throw new ArgumentNullException("searchUtils");

            if (processMetadataRepository == null)
                throw new ArgumentNullException("processMetadataRepository");

            if (filterDescriptorFactory == null)
                throw new ArgumentNullException("filterDescriptorFactory");

            if (metricsManager == null)
                throw new ArgumentNullException("metricsManager");

            if (kpiManager == null)
                throw new ArgumentNullException("kpiManager");

            if (filterRepository == null)
                throw new ArgumentNullException("filterRepository");

            _dynamicTypeManager = dynamicTypeManager;
            _filterManager = filterManager;
            _layoutManager = layoutManager;
            _searchUtils = searchUtils;
            _processMetadataRepository = processMetadataRepository;
            _filterDescriptorFactory = filterDescriptorFactory;
            _metricsManager = metricsManager;
            _kpiManager = kpiManager;
            _filterRepository = filterRepository;
        }
コード例 #11
0
ファイル: LayoutRepository.cs プロジェクト: mparsin/Elements
        public LayoutRepository(
            IProcessMetadataRepository processRepository,
            IUtils utils,
            ILayoutManager layoutManager)
        {
            if (processRepository == null)
                throw new ArgumentNullException("processRepository");

            if (utils == null)
                throw new ArgumentNullException("utils");

            if (layoutManager == null)
                throw new ArgumentNullException("layoutManager");

            _processRepository = processRepository;
            _utils = utils;
            _layoutManager = layoutManager;
        }