Skip to content

Commit 6364e11

Browse files
committed
- update the models to reduce the import surface in generated classes
1 parent ed901f9 commit 6364e11

File tree

5 files changed

+147
-135
lines changed

5 files changed

+147
-135
lines changed

Templates/Java/BaseJavaModel.template.tt

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,136 @@
372372
return typeString;
373373
}
374374

375+
public string CreatePackageDefForBaseEntityRequestBuilder(CustomT4Host host)
376+
{
377+
var sb = new StringBuilder();
378+
sb.Append(CreatePackageDefinition(host));
379+
380+
var importFormat = @"import {0}.{1}.{2};";
381+
sb.AppendFormat(importFormat,
382+
host.CurrentModel.NamespaceName(),
383+
"requests.extensions",
384+
ITypeRequest(host.CurrentType));
385+
sb.Append("\n");
386+
sb.AppendFormat(importFormat,
387+
host.CurrentModel.NamespaceName(),
388+
"requests.extensions",
389+
TypeRequest(host.CurrentType));
390+
sb.Append("\n");
391+
var c = host.CurrentType;
392+
if (c.AsOdcmClass() != null)
393+
{
394+
foreach(var prop in c.AsOdcmClass().NavigationProperties())
395+
{
396+
if (prop.IsCollection()) {
397+
398+
sb.AppendFormat(importFormat,
399+
host.CurrentModel.NamespaceName(),
400+
"requests.extensions",
401+
ITypeCollectionRequestBuilder(prop));
402+
sb.Append("\n");
403+
404+
sb.AppendFormat(importFormat,
405+
host.CurrentModel.NamespaceName(),
406+
"requests.extensions",
407+
TypeCollectionRequestBuilder(prop));
408+
sb.Append("\n");
409+
}
410+
sb.AppendFormat(importFormat,
411+
host.CurrentModel.NamespaceName(),
412+
"requests.extensions",
413+
ITypeRequestBuilder(prop));
414+
sb.Append("\n");
415+
416+
sb.AppendFormat(importFormat,
417+
host.CurrentModel.NamespaceName(),
418+
"requests.extensions",
419+
TypeRequestBuilder(prop));
420+
sb.Append("\n");
421+
}
422+
423+
foreach (var prop in c.AsOdcmClass().GetProperties(typeName:"Stream"))
424+
{
425+
var propRequestBuilder = TypeRequestBuilder(prop);
426+
sb.AppendFormat(importFormat,
427+
host.CurrentModel.NamespaceName(),
428+
"requests.extensions",
429+
"I" + propRequestBuilder);
430+
sb.Append("\n");
431+
432+
sb.AppendFormat(importFormat,
433+
host.CurrentModel.NamespaceName(),
434+
"requests.extensions",
435+
propRequestBuilder);
436+
sb.Append("\n");
437+
}
438+
439+
if (c is OdcmMediaClass)
440+
{
441+
sb.AppendFormat(importFormat,
442+
host.CurrentModel.NamespaceName(),
443+
"requests.extensions",
444+
ITypeStreamRequestBuilder(host.CurrentType));
445+
sb.Append("\n");
446+
447+
sb.AppendFormat(importFormat,
448+
host.CurrentModel.NamespaceName(),
449+
"requests.extensions",
450+
TypeStreamRequestBuilder(host.CurrentType));
451+
sb.Append("\n");
452+
}
453+
454+
foreach (var method in c.AsOdcmClass().MethodsAndOverloads()) {
455+
if (method.IsBoundToCollection) {
456+
continue;
457+
}
458+
459+
foreach (var p in method.Parameters)
460+
{
461+
if(!(p.Type is OdcmPrimitiveType) && p.Type.GetTypeString() != "com.google.gson.JsonElement") {
462+
var typeString = p.Type.GetTypeString();
463+
if(p.Type.GetTypeString().StartsWith("EnumSet<")){
464+
typeString = typeString.Substring(typeString.IndexOf("<") + 1);
465+
typeString = typeString.Substring(0, typeString.Length-1);
466+
}
467+
sb.AppendFormat(importFormat,
468+
host.CurrentModel.NamespaceName(),
469+
getPackagePrefix(p),
470+
typeString);
471+
sb.Append("\n");
472+
}
473+
}
474+
475+
if (method.IsCollection) {
476+
sb.AppendFormat(importFormat,
477+
host.CurrentModel.NamespaceName(),
478+
"requests.extensions",
479+
ITypeCollectionRequestBuilder(method));
480+
sb.Append("\n");
481+
482+
sb.AppendFormat(importFormat,
483+
host.CurrentModel.NamespaceName(),
484+
"requests.extensions",
485+
TypeCollectionRequestBuilder(method));
486+
sb.Append("\n");
487+
} else {
488+
sb.AppendFormat(importFormat,
489+
host.CurrentModel.NamespaceName(),
490+
"requests.extensions",
491+
ITypeRequestBuilder(method));
492+
sb.Append("\n");
493+
494+
sb.AppendFormat(importFormat,
495+
host.CurrentModel.NamespaceName(),
496+
"requests.extensions",
497+
TypeRequestBuilder(method));
498+
sb.Append("\n");
499+
}
500+
}
501+
}
502+
return sb.ToString();
503+
}
504+
375505
public string ReturnType(OdcmObject c) {
376506
var returnType = c.AsOdcmMethod().ReturnType;
377507
if (returnType != null) {

Templates/Java/requests_extensions/BaseEntityRequestBuilder.java.tt

Lines changed: 0 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -151,135 +151,3 @@ if (c.AsOdcmClass() != null)
151151
}
152152
#>
153153
}
154-
155-
<#+
156-
public string CreatePackageDefForBaseEntityRequestBuilder(CustomT4Host host)
157-
{
158-
var sb = new StringBuilder();
159-
sb.Append(CreatePackageDefinition(host));
160-
161-
var importFormat = @"import {0}.{1}.{2};";
162-
sb.AppendFormat(importFormat,
163-
host.CurrentModel.NamespaceName(),
164-
"requests.extensions",
165-
ITypeRequest(host.CurrentType));
166-
sb.Append("\n");
167-
sb.AppendFormat(importFormat,
168-
host.CurrentModel.NamespaceName(),
169-
"requests.extensions",
170-
TypeRequest(host.CurrentType));
171-
sb.Append("\n");
172-
var c = host.CurrentType;
173-
if (c.AsOdcmClass() != null)
174-
{
175-
foreach(var prop in c.AsOdcmClass().NavigationProperties())
176-
{
177-
if (prop.IsCollection()) {
178-
179-
sb.AppendFormat(importFormat,
180-
host.CurrentModel.NamespaceName(),
181-
"requests.extensions",
182-
ITypeCollectionRequestBuilder(prop));
183-
sb.Append("\n");
184-
185-
sb.AppendFormat(importFormat,
186-
host.CurrentModel.NamespaceName(),
187-
"requests.extensions",
188-
TypeCollectionRequestBuilder(prop));
189-
sb.Append("\n");
190-
}
191-
sb.AppendFormat(importFormat,
192-
host.CurrentModel.NamespaceName(),
193-
"requests.extensions",
194-
ITypeRequestBuilder(prop));
195-
sb.Append("\n");
196-
197-
sb.AppendFormat(importFormat,
198-
host.CurrentModel.NamespaceName(),
199-
"requests.extensions",
200-
TypeRequestBuilder(prop));
201-
sb.Append("\n");
202-
}
203-
204-
foreach (var prop in c.AsOdcmClass().GetProperties(typeName:"Stream"))
205-
{
206-
var propRequestBuilder = TypeRequestBuilder(prop);
207-
sb.AppendFormat(importFormat,
208-
host.CurrentModel.NamespaceName(),
209-
"requests.extensions",
210-
"I" + propRequestBuilder);
211-
sb.Append("\n");
212-
213-
sb.AppendFormat(importFormat,
214-
host.CurrentModel.NamespaceName(),
215-
"requests.extensions",
216-
propRequestBuilder);
217-
sb.Append("\n");
218-
}
219-
220-
if (c is OdcmMediaClass)
221-
{
222-
sb.AppendFormat(importFormat,
223-
host.CurrentModel.NamespaceName(),
224-
"requests.extensions",
225-
ITypeStreamRequestBuilder(host.CurrentType));
226-
sb.Append("\n");
227-
228-
sb.AppendFormat(importFormat,
229-
host.CurrentModel.NamespaceName(),
230-
"requests.extensions",
231-
TypeStreamRequestBuilder(host.CurrentType));
232-
sb.Append("\n");
233-
}
234-
235-
foreach (var method in c.AsOdcmClass().MethodsAndOverloads()) {
236-
if (method.IsBoundToCollection) {
237-
continue;
238-
}
239-
240-
foreach (var p in method.Parameters)
241-
{
242-
if(!(p.Type is OdcmPrimitiveType) && p.Type.GetTypeString() != "com.google.gson.JsonElement") {
243-
var typeString = p.Type.GetTypeString();
244-
if(p.Type.GetTypeString().StartsWith("EnumSet<")){
245-
typeString = typeString.Substring(typeString.IndexOf("<") + 1);
246-
typeString = typeString.Substring(0, typeString.Length-1);
247-
}
248-
sb.AppendFormat(importFormat,
249-
host.CurrentModel.NamespaceName(),
250-
getPackagePrefix(p),
251-
typeString);
252-
sb.Append("\n");
253-
}
254-
}
255-
256-
if (method.IsCollection) {
257-
sb.AppendFormat(importFormat,
258-
host.CurrentModel.NamespaceName(),
259-
"requests.extensions",
260-
ITypeCollectionRequestBuilder(method));
261-
sb.Append("\n");
262-
263-
sb.AppendFormat(importFormat,
264-
host.CurrentModel.NamespaceName(),
265-
"requests.extensions",
266-
TypeCollectionRequestBuilder(method));
267-
sb.Append("\n");
268-
} else {
269-
sb.AppendFormat(importFormat,
270-
host.CurrentModel.NamespaceName(),
271-
"requests.extensions",
272-
ITypeRequestBuilder(method));
273-
sb.Append("\n");
274-
275-
sb.AppendFormat(importFormat,
276-
host.CurrentModel.NamespaceName(),
277-
"requests.extensions",
278-
TypeRequestBuilder(method));
279-
sb.Append("\n");
280-
}
281-
}
282-
}
283-
return sb.ToString();
284-
}
285-
#>

Templates/Java/requests_extensions/BaseEntityStreamRequestBuilder.java.tt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
<#@ output extension="\\" #>
55
<#host.TemplateName = TypeStreamRequestBuilder(c);#>
66
<#=writer.WriteHeader()#>
7-
<#=CreatePackageDef(host)#>
7+
<#=CreatePackageDefForBaseEntityRequestBuilder(host)#>
8+
import com.microsoft.graph.core.IBaseClient;
9+
import com.microsoft.graph.http.BaseRequestBuilder;
10+
import com.microsoft.graph.options.Option;
11+
import java.util.EnumSet;
12+
813

914
<#=CreateClassDef(TypeStreamRequestBuilder(c), "BaseRequestBuilder", ITypeStreamRequestBuilder(c))#>
1015

Templates/Java/requests_extensions/BaseStreamRequest.java.tt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
<#@ output extension="\\" #>
55
<#host.TemplateName = TypeStreamRequest(c);#>
66
<#=writer.WriteHeader()#>
7-
<#=CreatePackageDef(host)#>
7+
<#=CreatePackageDefForBaseEntityRequestBuilder(host)#>
8+
import com.microsoft.graph.core.IBaseClient;
9+
import com.microsoft.graph.http.BaseRequestBuilder;
10+
import com.microsoft.graph.options.Option;
11+
import java.util.EnumSet;
812

913
import java.io.*;
1014

Templates/Java/requests_extensions/IBaseEntityStreamRequestBuilder.java.tt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
<#@ output extension="\\" #>
55
<#host.TemplateName = ITypeStreamRequestBuilder(c);#>
66
<#=writer.WriteHeader()#>
7-
<#=CreatePackageDef(host)#>
7+
<#=CreatePackageDefForBaseEntityRequestBuilder(host)#>
8+
import com.microsoft.graph.core.IBaseClient;
9+
import com.microsoft.graph.http.BaseRequestBuilder;
10+
import com.microsoft.graph.options.Option;
11+
import com.microsoft.graph.http.IRequestBuilder;
12+
import java.util.EnumSet;
813

914
<#=CreateInterfaceDef(ITypeStreamRequestBuilder(c), "IRequestBuilder")#>
1015

0 commit comments

Comments
 (0)