Skip to content

Commit abc01c8

Browse files
author
Brian Melton
committed
Bugfixes for function/action detection + renaming superclass
1 parent b1f88b2 commit abc01c8

File tree

3 files changed

+14
-32
lines changed

3 files changed

+14
-32
lines changed

Templates/Android/BaseModel.template.tt

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,18 @@
55
CustomT4Host host = (CustomT4Host) Host;
66
var model = host.CurrentModel;
77
CodeWriterAndroid writer = (CodeWriterAndroid) host.CodeWriter;
8-
bool logTemplateSrc = true;
8+
bool logTemplateSrc = false;
99
var c = host.CurrentType;
1010
#>
1111
<# if (logTemplateSrc) { #>
1212
// Template Source: <#= TemplateName(host.TemplateFile) #>
1313
<# } #>
1414
<#+
1515

16-
/// Is this request type a post?
17-
public bool IsPostRequestType(OdcmMethod method) {
18-
return method.IsAction()
19-
&& null != method.Parameters
20-
&& method.Parameters.Any();
21-
}
22-
2316
/// Choose an intermediate class type based on GETs/POSTs
2417
public string RequestBuilderSuperClass(OdcmObject currentType) {
25-
var isPostAction =
26-
IsPostRequestType(
27-
currentType.AsOdcmMethod()
28-
);
29-
30-
string superClass;
31-
32-
if (isPostAction) {
33-
superClass = "BasePostMethodRequestBuilder";
34-
} else {
35-
superClass = "BaseGetMethodRequestBuilder";
36-
}
37-
38-
return superClass;
18+
return currentType.AsOdcmMethod().IsFunction ?
19+
"BaseFunctionRequestBuilder" : "BaseActionRequestBuilder";
3920
}
4021

4122
/// <summary>

Templates/Android/generated/BaseMethodCollectionRequestBuilder.java.tt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<#host.TemplateName = BaseTypeCollectionRequestBuilder(c);#>
66
<#=writer.WriteHeader()#>
77
<#=CreatePackageDef(host)#>
8-
<# bool isPost = IsPostRequestType(c.AsOdcmMethod()); #>
8+
<# bool isAction = !c.AsOdcmMethod().IsFunction; #>
99
<#=CreateClassDef(BaseTypeCollectionRequestBuilder(c), RequestBuilderSuperClass(c), IBaseTypeCollectionRequestBuilder(c))#>
1010

1111
<# foreach (var method in c.AsOdcmMethod().WithOverloads()) { #>
@@ -19,7 +19,7 @@
1919
public <#=BaseTypeCollectionRequestBuilder(c)#>(final String requestUrl, final <#=IBaseClientType()#> client, final List<Option> requestOptions<#=MethodParametersSignature(method)#>) {
2020
super(requestUrl, client, requestOptions);
2121
<# foreach (var p in method.Parameters) { #>
22-
<# if (isPost) { #>
22+
<# if (isAction) { #>
2323
mBodyParams.put("<#=ParamName(p)#>", <#=ParamName(p)#>);
2424
<# } else { #>
2525
mFunctionOptions.add(new FunctionOption("<#=ParamName(p)#>", <#=ParamName(p)#>));
@@ -39,7 +39,7 @@
3939
requestOptions
4040
);
4141

42-
<# if (isPost) { #>
42+
<# if (isAction) { #>
4343
<# foreach (var p in c.AsOdcmMethod().Parameters) { #>
4444
if (hasParameter("<#=ParamName(p)#>")) {
4545
request.mBody.<#=ParamName(p)#> = getParameter("<#=ParamName(p)#>");

Templates/Android/generated/BaseMethodRequestBuilder.java.tt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<#host.TemplateName = BaseTypeRequestBuilder(c);#>
66
<#=writer.WriteHeader()#>
77
<#=CreatePackageDef(host)#>
8-
<# bool isPost = IsPostRequestType(c.AsOdcmMethod()); #>
8+
<# bool isAction = !c.AsOdcmMethod().IsFunction; #>
99
<#=CreateClassDef(BaseTypeRequestBuilder(c), RequestBuilderSuperClass(c))#>
1010

1111
<# foreach (var method in c.AsOdcmMethod().WithOverloads()) { #>
@@ -19,7 +19,7 @@
1919
public <#=BaseTypeRequestBuilder(c)#>(final String requestUrl, final <#=IBaseClientType()#> client, final List<Option> requestOptions<#=MethodParametersSignature(method)#>) {
2020
super(requestUrl, client, requestOptions);
2121
<# foreach (var p in method.Parameters) { #>
22-
<# if (isPost) { #>
22+
<# if (isAction) { #>
2323
mBodyParams.put("<#=ParamName(p)#>", <#=ParamName(p)#>);
2424
<# } else { #>
2525
mFunctionOptions.add(new FunctionOption("<#=ParamName(p)#>", <#=ParamName(p)#>));
@@ -50,18 +50,19 @@
5050
requestOptions
5151
);
5252

53-
<# if (isPost) { #>
54-
<# foreach (var p in c.AsOdcmMethod().Parameters) { #>
55-
if (hasParameter("<#=ParamName(p)#>")) {
53+
<# if (isAction) { #>
54+
<# foreach (var p in c.AsOdcmMethod().Parameters) { #>
55+
if (hasParameter("<#=ParamName(p)#>")) {
5656
request.mBody.<#=ParamName(p)#> = getParameter("<#=ParamName(p)#>");
5757
}
58-
<# } #>
58+
59+
<# } #>
5960
<# } else { #>
6061
for (FunctionOption option : mFunctionOptions) {
6162
request.addFunctionOption(option);
6263
}
63-
<# } #>
6464

65+
<# } #>
6566
return request;
6667
}
6768
}

0 commit comments

Comments
 (0)