Exemplo n.º 1
0
        /// <summary>Performs static members initialization / clean-up.</summary>
        private static void PreParsingLogic()
        {
            // If ArgumentValueData is not initialized then initialize it
            // else clear it.
            if (ArgumentValueData == null)
            {
                ArgumentValueData = new Dictionary <string, string>();
            }
            else
            {
                ArgumentValueData.Clear();
            }

            // Add default packing type value as Vertical
            ArgumentValueData.Add(PackingScheme, Vertical);

            // Add default sprite name
            ArgumentValueData.Add(SpriteName, DefaultSpriteName);

            // Add default dedup as False
            ArgumentValueData.Add(Dedup, "False");

            // Add default value for Padding
            ArgumentValueData.Add(Padding, DefaultPadding.ToString(CultureInfo.InvariantCulture));

            // Clear InputImageList if it is not null
            if (inputImageList != null && inputImageList.Count > 0)
            {
                inputImageList.Clear();
            }

            // Arraylist that will hold the missing parameters. First all mandatory parameters
            // are added to it and as they are parsed removed from the list so the remaining
            // members in arraylist at the end of parsing are missing.
            if (MissingParams == null)
            {
                MissingParams = new ArrayList();
            }
            else
            {
                MissingParams.Clear();
            }

            MissingParams.Add(DirectoryOrFileName);
            MissingParams.Add(OutputDirectory);
            MissingParams.Add(XmlMapName);
            MissingParams.Add(ArgumentParser.Padding);
        }
Exemplo n.º 2
0
        /// <summary>Parses log file name from input value</summary>
        /// <param name="mapFileName">Log file name.</param>
        private static void ParseLogFile(string mapFileName)
        {
            if (string.IsNullOrEmpty(mapFileName))
            {
                throw new ImageAssembleException(string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.ValueMissingForInputParameterMessage, XmlMapName));
            }
            else
            {
                var directory = Path.GetDirectoryName(mapFileName);
                if (!string.IsNullOrEmpty(directory))
                {
                    // Create all directories
                    Directory.CreateDirectory(directory);
                }

                ArgumentValueData.Add(XmlMapName, mapFileName);
            }
        }
Exemplo n.º 3
0
        /// <summary>Parses directory value from input parameter.</summary>
        /// <param name="dirName">Directory value string.</param>
        /// <param name="paramName">Input parameter name.</param>
        private static void ParseDirectoryValue(string dirName, string paramName)
        {
            var formatMessageDoesnotExist = string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.DirectoryDoesNotExistMessage, dirName, paramName);
            var formatMessageNotSpecified = string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.ValueMissingForInputParameterMessage, paramName);
            var flagInputDirectory        = true;

            if (paramName.Equals(OutputDirectory, StringComparison.OrdinalIgnoreCase))
            {
                flagInputDirectory        = false;
                formatMessageDoesnotExist = string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.DirectoryDoesNotExistMessage, dirName, paramName);
                formatMessageNotSpecified = string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.ValueMissingForInputParameterMessage, paramName);
            }

            if (!string.IsNullOrEmpty(dirName))
            {
                if (Directory.Exists(dirName))
                {
                    if (flagInputDirectory)
                    {
                        inputImageList = ConvertToInputImageList(Directory.GetFiles(dirName));

                        // Fix for Bug# 956100
                        // If there are not images present then thrown an exception
                        if (InputImageList.Count == 0)
                        {
                            throw new ImageAssembleException(string.Format(CultureInfo.CurrentUICulture, ImageAssembleStrings.NoInputFilesMessage, dirName));
                        }
                    }
                    else
                    {
                        ArgumentValueData.Add(OutputDirectory, dirName);
                    }
                }
                else
                {
                    throw new ImageAssembleException(formatMessageDoesnotExist);
                }
            }
            else
            {
                throw new ImageAssembleException(formatMessageNotSpecified);
            }
        }