/// <summary>
        /// Gets a <see cref="JsonSchema"/> for the specified reference.
        /// </summary>
        /// <param name="reference">The id.</param>
        /// <returns>A <see cref="JsonSchema"/> for the specified reference.</returns>
        public virtual JsonSchema GetSchema(string reference)
        {
            JsonSchema schema = LoadedSchemas.SingleOrDefault(s => string.Equals(s.Location, reference, StringComparison.Ordinal));

            if (schema == null)
            {
                schema = LoadedSchemas.SingleOrDefault(s => string.Equals(s.Id, reference, StringComparison.Ordinal));
            }

            return(schema);
        }
Exemple #2
0
        public override JsonSchema GetSchema(string id)
        {
            JsonSchema alreadyPresent = LoadedSchemas.FirstOrDefault(js => js.Id == id);

            if (alreadyPresent != null)
            {
                return(alreadyPresent);
            }

            var future = new FutureJsonSchema(id);

            LoadedSchemas.Add(future);
            return(future);
        }
Exemple #3
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing"><c>true</c> if managed resources should be disposed; otherwise, <c>false</c>.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (components != null)
                {
                    components.Dispose();
                }

                _wbConnection = null;
                if (LoadedSchemas != null)
                {
                    LoadedSchemas.ForEach(dbo => dbo.Dispose());
                    LoadedSchemas.Clear();
                }
            }

            base.Dispose(disposing);
        }