public void Validate(string platform, ListPlatformData list, TreePlatformData tree)
        {
            if (list?.Revisions == null)
            {
                throw new InvalidOperationException($"{platform}: null list/revisions");
            }

            if (tree?.Revisions == null)
            {
                throw new InvalidOperationException($"{platform}: null tree/revisions");
            }

            foreach (var kvp in tree.Revisions)
            {
                Validate(kvp, platform, list);
            }

            foreach (var kvp in list.Revisions)
            {
                Validate(kvp, platform, tree);
            }
        }
        public TreePlatformData GetPlatform(string platformPath, string platform)
        {
            Logger.LogTrace("Enter {0}", platform);

            var revisions      = GetRevisions(platformPath, platform);
            var sourcePlatform = GetSourcePlatform(revisions, platform);
            var id             = GetId(platformPath, sourcePlatform, platform, revisions);
            var encoding       = GetEncoding(platformPath, sourcePlatform, platform, revisions);
            var camera         = GetCamera(platformPath, sourcePlatform ?? platform);

            var platformData = new TreePlatformData
            {
                Revisions = revisions,
                Id        = id,
                Encoding  = encoding,
                Alt       = GetAlt(camera),
                Card      = GetCard(camera),
            };

            Logger.LogTrace("Leave {0}", platform);
            return(platformData);
        }
        private void Validate(KeyValuePair <string, ListRevisionData> kvp, string platform, TreePlatformData tree)
        {
            var revision = kvp.Value?.Source?.Revision ?? kvp.Key;

            if (!tree.Revisions.ContainsKey(revision))
            {
                OnTreeRevisionMissing(platform, revision);
            }
        }
Ejemplo n.º 4
0
        public override PsCameraData GetCamera(uint modelId, string platform, ListPlatformData list, TreePlatformData tree, string productName)
        {
            var camera = base.GetCamera(modelId, platform, list, tree, productName);

            camera.Encoding = GetEncoding(platform, tree.Encoding);
            camera.Alt      = GetAlt(platform, tree.AltNames, productName);
            return(camera);
        }
Ejemplo n.º 5
0
        public IDictionary <string, VersionData> GetVersions(string productName, ListPlatformData list, TreePlatformData tree)
        {
            var versions = new SortedDictionary <string, VersionData>();

            foreach (var kvp in list.Revisions)
            {
                var version = GetVersion(kvp.Key, kvp.Value, list, tree);
                if (version != null)
                {
                    var versionKey = GetVersionKey(kvp.Key);
                    versions.Add(versionKey, version);
                }
            }
            return(versions);
        }
Ejemplo n.º 6
0
        private VersionData GetVersion(string version, ListRevisionData listRevision, ListPlatformData list, TreePlatformData tree)
        {
            var key = listRevision.Source?.Revision ?? version;

            if (!list.Revisions.ContainsKey(key))
            {
                return(null);
            }

            return(GetVersion(version));
        }
Ejemplo n.º 7
0
 private CameraData GetOrAddCamera(uint modelId, string platform, ListPlatformData list, TreePlatformData tree, IDictionary <uint, CameraData> cameras, string productName)
 {
     if (!cameras.TryGetValue(modelId, out CameraData camera))
     {
         camera = CameraProvider.GetCamera(modelId, platform, list, tree, productName);
         cameras.Add(modelId, camera);
     }
     return(camera);
 }
Ejemplo n.º 8
0
 public CameraModelData GetModel(string platform, string[] names, ListPlatformData list, TreePlatformData tree, string productName)
 {
     ModelValidator.Validate(platform, list, tree, productName);
     return(new CameraModelData
     {
         Platform = platform,
         Names = names,
     });
 }
Ejemplo n.º 9
0
        public IDictionary <string, RevisionData> GetRevisions(ListPlatformData list, TreePlatformData tree)
        {
            var revisions = new SortedDictionary <string, RevisionData>();

            foreach (var kvp in list.Revisions)
            {
                var revision = GetRevision(kvp.Key, kvp.Value, list);
                if (revision != null)
                {
                    var revisionKey = GetRevisionKey(kvp.Key);
                    revisions.Add(revisionKey, revision);
                }
            }
            return(revisions);
        }
Ejemplo n.º 10
0
 public void Validate(string platform, ListPlatformData list, TreePlatformData tree, string productName)
 {
     GetInnerProvider(productName).Validate(platform, list, tree);
 }
 public virtual TModel GetModel(string platform, string[] names, ListPlatformData list, TreePlatformData tree, string productName)
 {
     ModelValidator.Validate(platform, list, tree, productName);
     return(new TModel
     {
         Platform = platform,
         Names = names,
     });
 }
        public override EosCameraModelData GetModel(string platform, string[] names, ListPlatformData list, TreePlatformData tree, string productName)
        {
            var model = base.GetModel(platform, names, list, tree, productName);

            model.Versions = VersionProvider.GetVersions(productName, list, tree);
            return(model);
        }
Ejemplo n.º 13
0
 public virtual TCamera GetCamera(uint modelId, string platform, ListPlatformData list, TreePlatformData tree, string productName)
 {
     return(new TCamera
     {
         Models = new CameraModelData[0],
         Boot = GetBoot(modelId, productName),
         Card = GetCard(modelId, tree.MultiCard, productName),
     });
 }
        public virtual TCamera GetCamera(uint modelId, string platform, ListPlatformData list, TreePlatformData tree, string productName)
        {
            var categoryName = ProductProvider.GetCategoryName(productName);

            return(new TCamera
            {
                Models = new TModel[0],
                Encoding = GetEncoding(platform, tree.Encoding, categoryName),
                Boot = GetBoot(modelId, productName),
                Card = GetCard(modelId, tree.Card, productName),
            });
        }
 public IDictionary <string, RevisionData> GetRevisions(string productName, ListPlatformData list, TreePlatformData tree)
 {
     return(GetInnerProvider(productName).GetRevisions(list, tree));
 }