private PreInstallWarnings GetPreInstallWarnings(XElement rootElement)
        {
            XElement files       = rootElement.Element(Constants.Packaging.FilesNodeName);
            XElement styleSheets = rootElement.Element(Constants.Packaging.StylesheetsNodeName);
            XElement templates   = rootElement.Element(Constants.Packaging.TemplatesNodeName);
            XElement alias       = rootElement.Element(Constants.Packaging.MacrosNodeName);

            var sourceDestination = EmptyArrayIfNull <KeyValuePair <string, string> >(files) ?? ExtractSourceDestinationFileInformation(files);

            var installWarnings = new PreInstallWarnings();

            var macroAliases = EmptyEnumerableIfNull <IMacro>(alias) ?? ConflictingPackageData.FindConflictingMacros(alias);

            installWarnings.ConflictingMacroAliases = macroAliases;

            var templateAliases = EmptyEnumerableIfNull <ITemplate>(templates) ?? ConflictingPackageData.FindConflictingTemplates(templates);

            installWarnings.ConflictingTemplateAliases = templateAliases;

            var stylesheetNames = EmptyEnumerableIfNull <IFile>(styleSheets) ?? ConflictingPackageData.FindConflictingStylesheets(styleSheets);

            installWarnings.ConflictingStylesheetNames = stylesheetNames;

            installWarnings.UnsecureFiles = FindUnsecureFiles(sourceDestination);
            installWarnings.FilesReplaced = FindFilesToBeReplaced(sourceDestination);

            return(installWarnings);
        }
Ejemplo n.º 2
0
 public CompiledPackageXmlParser(ConflictingPackageData conflictingPackageData)
 {
     _conflictingPackageData = conflictingPackageData;
 }