Skip to content

Commit 717cea8

Browse files
committed
Fixing IBaseEntityRequestBuilder tempate import statements. This template generates ~250 files.
1 parent 4922c1a commit 717cea8

File tree

1 file changed

+95
-1
lines changed

1 file changed

+95
-1
lines changed

Templates/Java/requests_generated/IBaseEntityRequestBuilder.java.tt

Lines changed: 95 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
<#@ output extension="\\" #>
55
<#host.TemplateName = IBaseTypeRequestBuilder(c);#>
66
<#=writer.WriteHeader()#>
7-
<#=CreatePackageDef(host)#>
7+
<#=CreatePackageDefForIBaseEntityRequestBuilder(host)#>
8+
import com.microsoft.graph.http.IRequestBuilder;
9+
import com.microsoft.graph.options.Option;
810

911
<#=CreateInterfaceDef(IBaseTypeRequestBuilder(c), "IRequestBuilder")#>
1012
/**
@@ -104,3 +106,95 @@ if (c.AsOdcmClass() != null)
104106
#>
105107

106108
}
109+
<#+
110+
public string CreatePackageDefForIBaseEntityRequestBuilder(CustomT4Host host)
111+
{
112+
var sb = new StringBuilder();
113+
sb.Append(CreatePackageDefinition(host));
114+
var importFormat = @"import {0}.{1}.{2};";
115+
sb.AppendFormat(importFormat,
116+
host.CurrentModel.NamespaceName(),
117+
"requests.extensions",
118+
ITypeRequest(host.CurrentType));
119+
sb.Append("\n");
120+
var c = host.CurrentType;
121+
if (c.AsOdcmClass() != null)
122+
{
123+
foreach(var prop in c.AsOdcmClass().NavigationProperties())
124+
{
125+
if (prop.IsCollection()) {
126+
127+
sb.AppendFormat(importFormat,
128+
host.CurrentModel.NamespaceName(),
129+
"requests.extensions",
130+
ITypeCollectionRequestBuilder(prop));
131+
sb.Append("\n");
132+
133+
sb.AppendFormat(importFormat,
134+
host.CurrentModel.NamespaceName(),
135+
"requests.extensions",
136+
ITypeRequestBuilder(prop));
137+
sb.Append("\n");
138+
} else {
139+
sb.AppendFormat(importFormat,
140+
host.CurrentModel.NamespaceName(),
141+
"requests.extensions",
142+
ITypeRequestBuilder(prop));
143+
sb.Append("\n");
144+
}
145+
}
146+
147+
foreach (var prop in c.AsOdcmClass().GetProperties(typeName:"Stream"))
148+
{
149+
var propRequestBuilder = TypeRequestBuilder(prop);
150+
sb.AppendFormat(importFormat,
151+
host.CurrentModel.NamespaceName(),
152+
"requests.extensions",
153+
"I" + propRequestBuilder);
154+
sb.Append("\n");
155+
}
156+
157+
if (c is OdcmMediaClass)
158+
{
159+
sb.AppendFormat(importFormat,
160+
host.CurrentModel.NamespaceName(),
161+
"requests.extensions",
162+
ITypeStreamRequestBuilder(host.CurrentType));
163+
sb.Append("\n");
164+
}
165+
166+
foreach (var method in c.AsOdcmClass().MethodsAndOverloads()) {
167+
if (method.IsBoundToCollection) {
168+
continue;
169+
}
170+
171+
foreach (var p in method.Parameters)
172+
{
173+
if(!(p.Type is OdcmPrimitiveType) && p.Type.GetTypeString() != "com.google.gson.JsonElement") {
174+
sb.AppendFormat(importFormat,
175+
host.CurrentModel.NamespaceName(),
176+
getPackagePrefix(p),
177+
p.Type.GetTypeString());
178+
sb.Append("\n");
179+
}
180+
}
181+
182+
if (method.IsCollection) {
183+
sb.AppendFormat(importFormat,
184+
host.CurrentModel.NamespaceName(),
185+
"requests.extensions",
186+
ITypeCollectionRequestBuilder(method));
187+
sb.Append("\n");
188+
} else {
189+
sb.AppendFormat(importFormat,
190+
host.CurrentModel.NamespaceName(),
191+
"requests.extensions",
192+
ITypeRequestBuilder(method));
193+
sb.Append("\n");
194+
}
195+
}
196+
}
197+
return sb.ToString();
198+
}
199+
200+
#>

0 commit comments

Comments
 (0)