Skip to content

Commit 100ab3f

Browse files
committed
Merge branch 'fix/1.x-filter_keys_string_array' into 1.x
2 parents 8e65387 + 1597497 commit 100ab3f

26 files changed

+2681
-2144
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,6 @@ Cache
5959
YamlCache
6060

6161
*.DS_Store
62-
*.sln.ide
62+
*.sln.ide
63+
64+
packages

src/CodeGeneration/CodeGeneration.LowLevelClient/ApiEndpoints/indices.clear_cache.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"description" : "Clear filter caches"
3434
},
3535
"filter_keys": {
36-
"type" : "boolean",
36+
"type" : "list",
3737
"description" : "A comma-separated list of keys to clear when using the `filter_cache` parameter (default: all)"
3838
},
3939
"id": {

src/CodeGeneration/CodeGeneration.LowLevelClient/ApiEndpoints/root.html

+2,281-1,988
Large diffs are not rendered by default.

src/CodeGeneration/CodeGeneration.LowLevelClient/ApiGenerator.cs

+9-6
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ namespace CodeGeneration.LowLevelClient
1919
{
2020
public static class ApiGenerator
2121
{
22-
private readonly static string _listingUrl = "https://github.com/elastic/elasticsearch/tree/1.6/rest-api-spec/api";
23-
private readonly static string _rawUrlPrefix = "https://raw.github.com/elastic/elasticsearch/1.6/rest-api-spec/api/";
24-
private readonly static string _nestFolder = @"..\..\..\..\..\src\Nest\";
25-
private readonly static string _esNetFolder = @"..\..\..\..\..\src\Elasticsearch.Net\";
26-
private readonly static string _viewFolder = @"..\..\Views\";
27-
private readonly static string _apiEndpointsFolder = @"..\..\ApiEndpoints\";
22+
private static readonly string _version = "1.7";
23+
private static readonly string _listingUrl = string.Format("https://github.com/elastic/elasticsearch/tree/{0}/rest-api-spec/api", _version);
24+
private static readonly string _rawUrlPrefix = string.Format("https://raw.github.com/elastic/elasticsearch/{0}/rest-api-spec/api/", _version);
25+
private static readonly string _nestFolder = @"..\..\..\..\..\src\Nest\";
26+
private static readonly string _esNetFolder = @"..\..\..\..\..\src\Elasticsearch.Net\";
27+
private static readonly string _viewFolder = @"..\..\Views\";
28+
private static readonly string _apiEndpointsFolder = @"..\..\ApiEndpoints\";
2829
private static readonly RazorMachine _razorMachine;
2930

3031
private static readonly Assembly _assembly;
@@ -188,6 +189,8 @@ public static void PatchMethod(CsharpMethod method)
188189
{
189190
skipList = overrides.SkipQueryStringParams ?? skipList;
190191
renameList = overrides.RenameQueryStringParams ?? renameList;
192+
193+
method = overrides.PatchMethod(method);
191194
}
192195
}
193196

src/CodeGeneration/CodeGeneration.LowLevelClient/CodeGeneration.LowLevelClient.csproj

+111
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
<Prefer32Bit>true</Prefer32Bit>
4545
</PropertyGroup>
4646
<ItemGroup>
47+
<Content Include="ApiEndpoints\root.html" />
4748
<Content Include="razormachine.readme.txt">
4849
<Paket>True</Paket>
4950
</Content>
@@ -81,6 +82,116 @@
8182
<Compile Include="Domain\RestApiSpec.cs" />
8283
</ItemGroup>
8384
<ItemGroup>
85+
<None Include="ApiEndpoints\abort_benchmark.json" />
86+
<None Include="ApiEndpoints\bulk.json" />
87+
<None Include="ApiEndpoints\cat.aliases.json" />
88+
<None Include="ApiEndpoints\cat.allocation.json" />
89+
<None Include="ApiEndpoints\cat.count.json" />
90+
<None Include="ApiEndpoints\cat.fielddata.json" />
91+
<None Include="ApiEndpoints\cat.health.json" />
92+
<None Include="ApiEndpoints\cat.help.json" />
93+
<None Include="ApiEndpoints\cat.indices.json" />
94+
<None Include="ApiEndpoints\cat.master.json" />
95+
<None Include="ApiEndpoints\cat.nodes.json" />
96+
<None Include="ApiEndpoints\cat.pending_tasks.json" />
97+
<None Include="ApiEndpoints\cat.plugins.json" />
98+
<None Include="ApiEndpoints\cat.recovery.json" />
99+
<None Include="ApiEndpoints\cat.segments.json" />
100+
<None Include="ApiEndpoints\cat.shards.json" />
101+
<None Include="ApiEndpoints\cat.thread_pool.json" />
102+
<None Include="ApiEndpoints\clear_scroll.json" />
103+
<None Include="ApiEndpoints\cluster.get_settings.json" />
104+
<None Include="ApiEndpoints\cluster.health.json" />
105+
<None Include="ApiEndpoints\cluster.pending_tasks.json" />
106+
<None Include="ApiEndpoints\cluster.put_settings.json" />
107+
<None Include="ApiEndpoints\cluster.reroute.json" />
108+
<None Include="ApiEndpoints\cluster.state.json" />
109+
<None Include="ApiEndpoints\cluster.stats.json" />
110+
<None Include="ApiEndpoints\count.json" />
111+
<None Include="ApiEndpoints\count_percolate.json" />
112+
<None Include="ApiEndpoints\delete.json" />
113+
<None Include="ApiEndpoints\delete_by_query.json" />
114+
<None Include="ApiEndpoints\delete_script.json" />
115+
<None Include="ApiEndpoints\delete_template.json" />
116+
<None Include="ApiEndpoints\exists.json" />
117+
<None Include="ApiEndpoints\explain.json" />
118+
<None Include="ApiEndpoints\field_stats.json" />
119+
<None Include="ApiEndpoints\get.json" />
120+
<None Include="ApiEndpoints\get_script.json" />
121+
<None Include="ApiEndpoints\get_source.json" />
122+
<None Include="ApiEndpoints\get_template.json" />
123+
<None Include="ApiEndpoints\index.json" />
124+
<None Include="ApiEndpoints\indices.analyze.json" />
125+
<None Include="ApiEndpoints\indices.clear_cache.json" />
126+
<None Include="ApiEndpoints\indices.close.json" />
127+
<None Include="ApiEndpoints\indices.create.json" />
128+
<None Include="ApiEndpoints\indices.delete.json" />
129+
<None Include="ApiEndpoints\indices.delete_alias.json" />
130+
<None Include="ApiEndpoints\indices.delete_mapping.json" />
131+
<None Include="ApiEndpoints\indices.delete_template.json" />
132+
<None Include="ApiEndpoints\indices.delete_warmer.json" />
133+
<None Include="ApiEndpoints\indices.exists.json" />
134+
<None Include="ApiEndpoints\indices.exists_alias.json" />
135+
<None Include="ApiEndpoints\indices.exists_template.json" />
136+
<None Include="ApiEndpoints\indices.exists_type.json" />
137+
<None Include="ApiEndpoints\indices.flush.json" />
138+
<None Include="ApiEndpoints\indices.flush_synced.json" />
139+
<None Include="ApiEndpoints\indices.get.json" />
140+
<None Include="ApiEndpoints\indices.get_alias.json" />
141+
<None Include="ApiEndpoints\indices.get_aliases.json" />
142+
<None Include="ApiEndpoints\indices.get_field_mapping.json" />
143+
<None Include="ApiEndpoints\indices.get_mapping.json" />
144+
<None Include="ApiEndpoints\indices.get_settings.json" />
145+
<None Include="ApiEndpoints\indices.get_template.json" />
146+
<None Include="ApiEndpoints\indices.get_upgrade.json" />
147+
<None Include="ApiEndpoints\indices.get_warmer.json" />
148+
<None Include="ApiEndpoints\indices.open.json" />
149+
<None Include="ApiEndpoints\indices.optimize.json" />
150+
<None Include="ApiEndpoints\indices.put_alias.json" />
151+
<None Include="ApiEndpoints\indices.put_mapping.json" />
152+
<None Include="ApiEndpoints\indices.put_settings.json" />
153+
<None Include="ApiEndpoints\indices.put_template.json" />
154+
<None Include="ApiEndpoints\indices.put_warmer.json" />
155+
<None Include="ApiEndpoints\indices.recovery.json" />
156+
<None Include="ApiEndpoints\indices.refresh.json" />
157+
<None Include="ApiEndpoints\indices.segments.json" />
158+
<None Include="ApiEndpoints\indices.stats.json" />
159+
<None Include="ApiEndpoints\indices.status.json" />
160+
<None Include="ApiEndpoints\indices.update_aliases.json" />
161+
<None Include="ApiEndpoints\indices.upgrade.json" />
162+
<None Include="ApiEndpoints\indices.validate_query.json" />
163+
<None Include="ApiEndpoints\info.json" />
164+
<None Include="ApiEndpoints\list_benchmarks.json" />
165+
<None Include="ApiEndpoints\mget.json" />
166+
<None Include="ApiEndpoints\mlt.json" />
167+
<None Include="ApiEndpoints\mpercolate.json" />
168+
<None Include="ApiEndpoints\msearch.json" />
169+
<None Include="ApiEndpoints\mtermvectors.json" />
170+
<None Include="ApiEndpoints\nodes.hot_threads.json" />
171+
<None Include="ApiEndpoints\nodes.info.json" />
172+
<None Include="ApiEndpoints\nodes.shutdown.json" />
173+
<None Include="ApiEndpoints\nodes.stats.json" />
174+
<None Include="ApiEndpoints\percolate.json" />
175+
<None Include="ApiEndpoints\ping.json" />
176+
<None Include="ApiEndpoints\put_script.json" />
177+
<None Include="ApiEndpoints\put_template.json" />
178+
<None Include="ApiEndpoints\scroll.json" />
179+
<None Include="ApiEndpoints\search.json" />
180+
<None Include="ApiEndpoints\search_exists.json" />
181+
<None Include="ApiEndpoints\search_shards.json" />
182+
<None Include="ApiEndpoints\search_template.json" />
183+
<None Include="ApiEndpoints\snapshot.create.json" />
184+
<None Include="ApiEndpoints\snapshot.create_repository.json" />
185+
<None Include="ApiEndpoints\snapshot.delete.json" />
186+
<None Include="ApiEndpoints\snapshot.delete_repository.json" />
187+
<None Include="ApiEndpoints\snapshot.get.json" />
188+
<None Include="ApiEndpoints\snapshot.get_repository.json" />
189+
<None Include="ApiEndpoints\snapshot.restore.json" />
190+
<None Include="ApiEndpoints\snapshot.status.json" />
191+
<None Include="ApiEndpoints\snapshot.verify_repository.json" />
192+
<None Include="ApiEndpoints\suggest.json" />
193+
<None Include="ApiEndpoints\termvector.json" />
194+
<None Include="ApiEndpoints\update.json" />
84195
<None Include="App.config" />
85196
<None Include="paket.references" />
86197
<None Include="Views\_Requests.Generated.cshtml" />

src/CodeGeneration/CodeGeneration.LowLevelClient/Domain/ApiQueryParameters.cs

+7-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ public string CsharpType(string paramName)
3535
return this.Type;
3636
}
3737
}
38-
38+
39+
public virtual string CsharpPropertyName(string cased)
40+
{
41+
return cased != "Type" && cased != "Index" && cased != "Script"
42+
? cased
43+
: cased + "QueryString";
44+
}
3945
}
4046
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/ClearCacheDescriptorOverrides.cs

+28-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Text;
5+
using CodeGeneration.LowLevelClient.Domain;
56

67
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
78
{
8-
public class ClearCacheDescriptorOverrides : IDescriptorOverrides
9+
public class ClearCacheDescriptorOverrides : DescriptorOverridesBase
910
{
10-
public IEnumerable<string> SkipQueryStringParams
11+
public override IEnumerable<string> SkipQueryStringParams
1112
{
1213
get
1314
{
@@ -18,6 +19,30 @@ public IEnumerable<string> SkipQueryStringParams
1819
}
1920
}
2021

21-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
22+
public override CsharpMethod PatchMethod(CsharpMethod method)
23+
{
24+
var part = method.Url.Params.First(p => p.Key == "filter_keys");
25+
26+
method.Url.Params["filter_keys"] = new FilterKeysApiQueryParameters(part.Value);
27+
28+
return base.PatchMethod(method);
29+
}
30+
31+
private class FilterKeysApiQueryParameters : ApiQueryParameters
32+
{
33+
public FilterKeysApiQueryParameters(ApiQueryParameters parameters)
34+
{
35+
this.DeprecatedInFavorOf = parameters.DeprecatedInFavorOf;
36+
this.Description = parameters.Description;
37+
this.Options = parameters.Options;
38+
this.OriginalQueryStringParamName = parameters.OriginalQueryStringParamName;
39+
this.Type = parameters.Type;
40+
}
41+
42+
public override string CsharpPropertyName(string cased)
43+
{
44+
return "FilterCacheKeys";
45+
}
46+
}
2247
}
2348
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/DeleteWarmerDescriptorOverrides.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
77
{
8-
public class DeleteWarmerDescriptorOverrides : IDescriptorOverrides
8+
public class DeleteWarmerDescriptorOverrides : DescriptorOverridesBase
99
{
10-
public IEnumerable<string> SkipQueryStringParams
10+
public override IEnumerable<string> SkipQueryStringParams
1111
{
1212
get
1313
{
@@ -17,7 +17,5 @@ public IEnumerable<string> SkipQueryStringParams
1717
};
1818
}
1919
}
20-
21-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
2220
}
2321
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/IDescriptorOverrides.cs

+27-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using CodeGeneration.LowLevelClient.Domain;
23

34
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
45
{
@@ -16,6 +17,31 @@ public interface IDescriptorOverrides
1617
/// <summary>
1718
/// Override how the query param name is exposed to the client.
1819
/// </summary>
19-
IDictionary<string, string> RenameQueryStringParams { get; }
20+
IDictionary<string, string> RenameQueryStringParams { get; }
21+
22+
/// <summary>
23+
/// Patches the CSharp method.
24+
/// </summary>
25+
/// <param name="method">The method.</param>
26+
/// <returns>patched method</returns>
27+
CsharpMethod PatchMethod(CsharpMethod method);
2028
}
29+
30+
public abstract class DescriptorOverridesBase : IDescriptorOverrides
31+
{
32+
public virtual IEnumerable<string> SkipQueryStringParams
33+
{
34+
get { return null; }
35+
}
36+
37+
public virtual IDictionary<string, string> RenameQueryStringParams
38+
{
39+
get { return null; }
40+
}
41+
42+
public virtual CsharpMethod PatchMethod(CsharpMethod method)
43+
{
44+
return method;
45+
}
46+
}
2147
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/IndicesStatsDescriptorOverrides.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
44
{
5-
public class IndicesStatsDescriptorOverrides : IDescriptorOverrides
5+
public class IndicesStatsDescriptorOverrides : DescriptorOverridesBase
66
{
7-
public IEnumerable<string> SkipQueryStringParams
7+
public override IEnumerable<string> SkipQueryStringParams
88
{
99
get
1010
{
@@ -14,6 +14,5 @@ public IEnumerable<string> SkipQueryStringParams
1414
};
1515
}
1616
}
17-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
1817
}
1918
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/MultiTermVectorsDescriptorOverrides.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
77
{
88
//CodeGeneration.LowLevelClient.Overrides.Descriptors.MultiTermVectorsDescriptorOverrides
9-
public class MultiTermVectorsDescriptorOverrides : IDescriptorOverrides
9+
public class MultiTermVectorsDescriptorOverrides : DescriptorOverridesBase
1010
{
11-
public IEnumerable<string> SkipQueryStringParams
11+
public override IEnumerable<string> SkipQueryStringParams
1212
{
1313
get
1414
{
@@ -18,6 +18,5 @@ public IEnumerable<string> SkipQueryStringParams
1818
};
1919
}
2020
}
21-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
2221
}
2322
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/NodesHotThreadsDescriptorOverrides.cs

+4-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
77
{
8-
public class NodesHotThreadsDescriptorOverrides : IDescriptorOverrides
8+
public class NodesHotThreadsDescriptorOverrides : DescriptorOverridesBase
99
{
10-
public IEnumerable<string> SkipQueryStringParams
10+
public override IEnumerable<string> SkipQueryStringParams
1111
{
1212
get
1313
{
@@ -17,7 +17,8 @@ public IEnumerable<string> SkipQueryStringParams
1717
};
1818
}
1919
}
20-
public IDictionary<string, string> RenameQueryStringParams
20+
21+
public override IDictionary<string, string> RenameQueryStringParams
2122
{
2223
get
2324
{

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/PutTemplateDescriptorOverrides.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
77
{
8-
public class PutTemplateDescriptorOverrides : IDescriptorOverrides
8+
public class PutTemplateDescriptorOverrides : DescriptorOverridesBase
99
{
10-
public IEnumerable<string> SkipQueryStringParams
10+
public override IEnumerable<string> SkipQueryStringParams
1111
{
1212
get
1313
{
@@ -17,6 +17,5 @@ public IEnumerable<string> SkipQueryStringParams
1717
};
1818
}
1919
}
20-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
2120
}
2221
}

src/CodeGeneration/CodeGeneration.LowLevelClient/Overrides/Descriptors/ScrollDescriptorOverrides.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
77
{
8-
public class ScrollDescriptorOverrides : IDescriptorOverrides
8+
public class ScrollDescriptorOverrides : DescriptorOverridesBase
99
{
10-
public IEnumerable<string> SkipQueryStringParams
10+
public override IEnumerable<string> SkipQueryStringParams
1111
{
1212
get
1313
{
@@ -17,7 +17,5 @@ public IEnumerable<string> SkipQueryStringParams
1717
};
1818
}
1919
}
20-
21-
public IDictionary<string, string> RenameQueryStringParams { get { return null; } }
2220
}
2321
}

0 commit comments

Comments
 (0)