Exemple #1
0
        /// <exclude />
        public override IEnumerable <PackageFragmentValidationResult> Validate()
        {
            var validationResult = new List <PackageFragmentValidationResult>();

            if (Configuration.Count(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName) > 1)
            {
                validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "OnlyOneFilesElement"));

                return(validationResult);
            }

            IEnumerable <XElement> filesElement = this.Configuration.Where(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName);

            _xmlFileMerges = new List <XmlFileMerge>();

            foreach (XElement fileElement in filesElement.Elements(mergeElementName))
            {
                XAttribute sourceAttribute;
                XAttribute targetAttribute;

                if (!GetAttributeNotNull(fileElement, XmlFileMergePackageFragmentInstaller.changeDefFileAttributeName, validationResult, out sourceAttribute) ||
                    !GetAttributeNotNull(fileElement, XmlFileMergePackageFragmentInstaller.targetFileAttributeName, validationResult, out targetAttribute))
                {
                    continue;
                }

                var xmlFileMerge = new XmlFileMerge
                {
                    ChangeFilePath = sourceAttribute.Value,
                    TargetPath     = targetAttribute.Value
                };


                string filePath = PathUtil.Resolve(xmlFileMerge.TargetPath);
                if (!C1File.Exists(filePath))
                {
                    validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "File '{0}' not found".FormatWith(filePath), fileElement));

                    continue;
                }

                _xmlFileMerges.Add(xmlFileMerge);
            }

            if (validationResult.Count > 0)
            {
                _xmlFileMerges = null;
            }

            return(validationResult);
        }
		/// <exclude />
		public override IEnumerable<PackageFragmentValidationResult> Validate()
		{
			List<PackageFragmentValidationResult> validationResult = new List<PackageFragmentValidationResult>();

			if (Configuration.Count(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName) > 1)
			{
				validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "OnlyOneFilesElement"));

				return validationResult;
			}

			IEnumerable<XElement> filesElement = this.Configuration.Where(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName);

			_xmlFileMerges = new List<XmlFileMerge>();

			foreach (var fileElement in filesElement.Elements(XmlFileMergePackageFragmentInstaller.mergeElementName))
			{
				XAttribute changePathAttribute = fileElement.Attribute(XmlFileMergePackageFragmentInstaller.changeDefFileAttributeName);
				XAttribute targetAttribute = fileElement.Attribute(XmlFileMergePackageFragmentInstaller.targetFileAttributeName);

				if (changePathAttribute == null || targetAttribute == null)
				{
					validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "MissingAttribute", fileElement));

					continue;
				}

				XmlFileMerge xmlFileMerge = new XmlFileMerge
				{
					ChangeFilePath = changePathAttribute.Value,
					TargetPath = targetAttribute.Value
				};

				if (!C1File.Exists(PathUtil.Resolve(xmlFileMerge.TargetPath)))
				{
					validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "FileNotFound", fileElement));

					continue;
				}

				_xmlFileMerges.Add(xmlFileMerge);
			}

			if (validationResult.Count > 0)
			{
				_xmlFileMerges = null;
			}

			return validationResult;
		}
        /// <exclude />
        public override IEnumerable <PackageFragmentValidationResult> Validate()
        {
            List <PackageFragmentValidationResult> validationResult = new List <PackageFragmentValidationResult>();

            if (Configuration.Count(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName) > 1)
            {
                validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "OnlyOneFilesElement"));

                return(validationResult);
            }

            IEnumerable <XElement> filesElement = this.Configuration.Where(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName);

            _xmlFileMerges = new List <XmlFileMerge>();

            foreach (var fileElement in filesElement.Elements(XmlFileMergePackageFragmentInstaller.mergeElementName))
            {
                XAttribute changePathAttribute = fileElement.Attribute(XmlFileMergePackageFragmentInstaller.changeDefFileAttributeName);
                XAttribute targetAttribute     = fileElement.Attribute(XmlFileMergePackageFragmentInstaller.targetFileAttributeName);

                if (changePathAttribute == null || targetAttribute == null)
                {
                    validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "MissingAttribute", fileElement));

                    continue;
                }

                XmlFileMerge xmlFileMerge = new XmlFileMerge
                {
                    ChangeFilePath = changePathAttribute.Value,
                    TargetPath     = targetAttribute.Value
                };

                if (!C1File.Exists(PathUtil.Resolve(xmlFileMerge.TargetPath)))
                {
                    validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "FileNotFound", fileElement));

                    continue;
                }

                _xmlFileMerges.Add(xmlFileMerge);
            }

            if (validationResult.Count > 0)
            {
                _xmlFileMerges = null;
            }

            return(validationResult);
        }
		/// <exclude />
		public override IEnumerable<PackageFragmentValidationResult> Validate()
		{
			var validationResult = new List<PackageFragmentValidationResult>();

			if (Configuration.Count(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName) > 1)
			{
				validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "OnlyOneFilesElement"));

				return validationResult;
			}

			IEnumerable<XElement> filesElement = this.Configuration.Where(f => f.Name == XmlFileMergePackageFragmentInstaller.mergeContainerElementName);

			_xmlFileMerges = new List<XmlFileMerge>();

			foreach (XElement fileElement in filesElement.Elements(mergeElementName))
			{
			    XAttribute sourceAttribute;
			    XAttribute targetAttribute;

                if(!GetAttributeNotNull(fileElement, XmlFileMergePackageFragmentInstaller.changeDefFileAttributeName, validationResult, out sourceAttribute)
                   || !GetAttributeNotNull(fileElement, XmlFileMergePackageFragmentInstaller.targetFileAttributeName, validationResult, out targetAttribute))
				{
					continue;
				}

				var xmlFileMerge = new XmlFileMerge
				{
					ChangeFilePath = sourceAttribute.Value,
					TargetPath = targetAttribute.Value
				};


			    string filePath = PathUtil.Resolve(xmlFileMerge.TargetPath);
                if (!C1File.Exists(filePath))
				{
                    validationResult.Add(new PackageFragmentValidationResult(PackageFragmentValidationResultType.Fatal, "File '{0}' not found".FormatWith(filePath), fileElement));

					continue;
				}

				_xmlFileMerges.Add(xmlFileMerge);
			}

			if (validationResult.Count > 0)
			{
				_xmlFileMerges = null;
			}

			return validationResult;
		}