Skip to content

Commit

Permalink
Merge pull request #888 from RSuter/master
Browse files Browse the repository at this point in the history
Release v9.13.17
  • Loading branch information
RicoSuter committed Jan 25, 2019
2 parents 53601fe + 7c7b5b2 commit 897bf87
Show file tree
Hide file tree
Showing 11 changed files with 58 additions and 12 deletions.
7 changes: 4 additions & 3 deletions src/NJsonSchema.CodeGeneration.CSharp/CSharpGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System.Collections.Generic;
using System.Linq;
using NJsonSchema.CodeGeneration.CSharp.Models;
using NJsonSchema.CodeGeneration.Models;

namespace NJsonSchema.CodeGeneration.CSharp
{
Expand Down Expand Up @@ -56,13 +57,13 @@ public override CodeArtifactCollection GenerateTypes()
{
if (Settings.ExcludedTypeNames?.Contains("JsonInheritanceAttribute") != true)
{
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "JsonInheritanceAttribute", null);
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "JsonInheritanceAttribute", new TemplateModelBase());
results.Add(new CodeArtifact("JsonInheritanceConverter", CodeArtifactType.Class, CodeArtifactLanguage.CSharp, template));
}

if (Settings.ExcludedTypeNames?.Contains("JsonInheritanceConverter") != true)
{
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "JsonInheritanceConverter", null);
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "JsonInheritanceConverter", new TemplateModelBase());
results.Add(new CodeArtifact("JsonInheritanceConverter", CodeArtifactType.Class, CodeArtifactLanguage.CSharp, template));
}
}
Expand All @@ -71,7 +72,7 @@ public override CodeArtifactCollection GenerateTypes()
{
if (Settings.ExcludedTypeNames?.Contains("DateFormatConverter") != true)
{
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "DateFormatConverter", null);
var template = Settings.TemplateFactory.CreateTemplate("CSharp", "DateFormatConverter", new TemplateModelBase());
results.Add(new CodeArtifact("DateFormatConverter", CodeArtifactType.Class, CodeArtifactLanguage.CSharp, template));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public virtual string Generate(JsonProperty property)
.Replace(".", "-")
.Replace("=", "-")
.Replace("+", "plus"), true)
.Replace("*", "Star")
.Replace(":", "_")
.Replace("-", "_");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net451</TargetFrameworks>
<Description>JSON Schema reader, generator and validator for .NET</Description>
<Version>9.13.16</Version>
<Version>9.13.17</Version>
<PackageTags>json schema validation generator .net</PackageTags>
<Copyright>Copyright © Rico Suter, 2018</Copyright>
<PackageLicenseUrl>https://github.com/rsuter/NJsonSchema/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net451</TargetFrameworks>
<Description>JSON Schema reader, generator and validator for .NET</Description>
<Version>9.13.16</Version>
<Version>9.13.17</Version>
<PackageTags>json schema validation generator .net</PackageTags>
<Copyright>Copyright © Rico Suter, 2018</Copyright>
<PackageLicenseUrl>https://github.com/rsuter/NJsonSchema/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System;
using NJsonSchema.CodeGeneration.TypeScript.Models;
using System.Linq;
using NJsonSchema.CodeGeneration.Models;

namespace NJsonSchema.CodeGeneration.TypeScript
{
Expand Down Expand Up @@ -81,13 +82,13 @@ public CodeArtifactCollection GenerateTypes(ExtensionCode extensionCode)

if (artifacts.Any(r => r.Code.Contains("formatDate(")))
{
var template = Settings.TemplateFactory.CreateTemplate("TypeScript", "File.FormatDate", null);
var template = Settings.TemplateFactory.CreateTemplate("TypeScript", "File.FormatDate", new TemplateModelBase());
artifacts.Add(new CodeArtifact("formatDate", CodeArtifactType.Function, CodeArtifactLanguage.CSharp, template));
}

if (Settings.HandleReferences)
{
var template = Settings.TemplateFactory.CreateTemplate("TypeScript", "File.ReferenceHandling", null);
var template = Settings.TemplateFactory.CreateTemplate("TypeScript", "File.ReferenceHandling", new TemplateModelBase());
artifacts.Add(new CodeArtifact("jsonParse", CodeArtifactType.Function, CodeArtifactLanguage.CSharp, template));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public virtual string Generate(JsonProperty property)
.Replace(".", "-")
.Replace("=", "-")
.Replace("+", "plus"), true)
.Replace("*", "Star")
.Replace(":", "_")
.Replace("-", "_");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net451</TargetFrameworks>
<Description>JSON Schema reader, generator and validator for .NET</Description>
<Version>9.13.16</Version>
<Version>9.13.17</Version>
<PackageTags>json schema validation generator .net</PackageTags>
<Copyright>Copyright © Rico Suter, 2018</Copyright>
<PackageLicenseUrl>https://github.com/rsuter/NJsonSchema/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
44 changes: 43 additions & 1 deletion src/NJsonSchema.Tests/References/LocalReferencesTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

namespace NJsonSchema.Tests.References
{
using NJsonSchema.Generation;

public class LocalReferencesTests
{
[Fact]
Expand All @@ -27,7 +29,7 @@ public async Task When_definitions_is_nested_then_refs_work()
}
}
}";

//// Act
var schema = await JsonSchema4.FromJsonAsync(json);
var j = schema.ToJson();
Expand Down Expand Up @@ -81,6 +83,46 @@ public async Task When_document_has_indirect_external_ref_than_it_is_loaded()
Assert.Equal(1, schema.Definitions.Count);
}

[Fact]
public async Task When_reference_is_registered_in_custom_resolver_it_should_not_try_to_access_file()
{
//// Arrange
var externalSchema = await JsonSchema4.FromJsonAsync(
@"{
""type"": ""object"",
""properties"": {
""foo"": {
""type"": ""string""
}
}
}");

Func<JsonSchema4, JsonReferenceResolver> factory = schema4 =>
{
var schemaResolver = new JsonSchemaResolver(schema4, new JsonSchemaGeneratorSettings());
var resolver = new JsonReferenceResolver(schemaResolver);
resolver.AddDocumentReference("../dir/external.json", externalSchema);
return resolver;
};

string schemaJson =
@"{
""$schema"": ""http://json-schema.org/draft-07/schema#"",
""type"": ""object"",
""properties"": {
""title"": {
""$ref"": ""../dir/external.json#""
}
}
}";

//// Act
var schema = await JsonSchema4.FromJsonAsync(schemaJson, ".", factory);

//// Assert
Assert.NotNull(schema);
}

private string GetTestDirectory()
{
var codeBase = Assembly.GetExecutingAssembly().CodeBase;
Expand Down
2 changes: 1 addition & 1 deletion src/NJsonSchema.Yaml/NJsonSchema.Yaml.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net45</TargetFrameworks>
<Description>JSON Schema reader, generator and validator for .NET</Description>
<Version>9.13.16</Version>
<Version>9.13.17</Version>
<PackageTags>json schema validation generator .net</PackageTags>
<Copyright>Copyright © Rico Suter, 2018</Copyright>
<PackageLicenseUrl>https://github.com/rsuter/NJsonSchema/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down
2 changes: 1 addition & 1 deletion src/NJsonSchema/JsonReferenceResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public JsonReferenceResolver(JsonSchemaResolver schemaResolver)
/// <param name="schema">The referenced schema.</param>
public void AddDocumentReference(string documentPath, IJsonReference schema)
{
_resolvedObjects[documentPath] = schema;
_resolvedObjects[documentPath.Contains("://") ? documentPath : DynamicApis.GetFullPath(documentPath)] = schema;
}

/// <summary>Gets the object from the given JSON path.</summary>
Expand Down
2 changes: 1 addition & 1 deletion src/NJsonSchema/NJsonSchema.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard1.0;netstandard2.0;net40;net45</TargetFrameworks>
<Description>JSON Schema reader, generator and validator for .NET</Description>
<Version>9.13.16</Version>
<Version>9.13.17</Version>
<PackageTags>json schema validation generator .net</PackageTags>
<Copyright>Copyright © Rico Suter, 2018</Copyright>
<PackageLicenseUrl>https://github.com/rsuter/NJsonSchema/blob/master/LICENSE.md</PackageLicenseUrl>
Expand Down

0 comments on commit 897bf87

Please sign in to comment.