Exemplo n.º 1
0
        private int Process(IdMappings idMappings, string mapFilePath)
        {
            Log.Information("Processing {file}", mapFilePath);
            using var mapFile = new GZipStream(File.OpenRead(mapFilePath), CompressionMode.Decompress);
            var reader = new MapReader(idMappings);

            try
            {
                var mapData = reader.Read(new MapDeserializer(new PositionTrackingStream(mapFile)));
                validator?.Validate(mapData);
                duplicateFinder.Process(mapData, mapFilePath);
            }
            catch (InvalidDataException e)
            {
                Log.Error(e, "Failed to process map {file}. File is most likely corrupted.", mapFilePath);
                return(e.HResult);
            }
            catch (ArgumentException e)
            {
                Log.Error(e, "Failed to process map {file}. File is most likely corrupted.", mapFilePath);
                return(e.HResult);
            }
            catch (InvalidOperationException e)
            {
                Log.Error(e, "Failed to process map {file}. File is most likely corrupted.", mapFilePath);
                return(e.HResult);
            }

            return(0);
        }
Exemplo n.º 2
0
 public MapValidator(IdMappings maps)
 {
     validators = new IMapValidator[]
     {
         new MapObjectTemplateValidator(maps),
         new MapObjectSubIdValidator()
     };
 }
Exemplo n.º 3
0
        public Executor(IdMappings idMappings, string path, bool validate)
        {
            mappings  = idMappings;
            this.path = path;

            if (validate)
            {
                validator = new MapValidator(idMappings);
            }
        }
Exemplo n.º 4
0
 public MapObjectTemplateValidator(IdMappings maps)
 {
     this.maps = maps;
 }