Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Templates/Java/BaseJavaModel.template.tt
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,17 @@
return getPrefixForModels(propertyType);
}

//Get package prefix using OdcmProperty for model classes
public string getPackagePrefix(OdcmParameter property)
{
var propertyType = property.GetTypeString();

if(property.Type is OdcmEnum)
return "models.generated";

return getPrefixForModels(propertyType);
}

public string CreatePackageDefinition(CustomT4Host host)
{
var sb = new StringBuilder();
Expand All @@ -567,6 +578,51 @@
return sb.ToString();
}

public string CreatePackageDefForBaseEntityCollectionResponse(CustomT4Host host)
{
var sb = new StringBuilder();
sb.Append(CreatePackageDefinition(host));
var importFormat = @"import {0}.{1}.{2};";
sb.AppendFormat(importFormat,
host.CurrentModel.NamespaceName(),
"models.extensions",
TypeName(host.CurrentType));
sb.Append("\n");
return sb.ToString();
}

public string CreatePackageDefForBaseMethodRequestBuilder(CustomT4Host host)
{
var sb = new StringBuilder();
sb.Append(CreatePackageDefinition(host));
var importFormat = @"import {0}.{1}.{2};";
sb.AppendFormat(importFormat,
host.CurrentModel.NamespaceName(),
"requests.extensions",
ITypeRequest(host.CurrentType));
sb.Append("\n");

sb.AppendFormat(importFormat,
host.CurrentModel.NamespaceName(),
"requests.extensions",
TypeRequest(host.CurrentType));
sb.Append("\n");

foreach (var method in host.CurrentType.AsOdcmMethod().WithOverloads()) {
foreach (var p in method.Parameters)
{
if(!(p.Type is OdcmPrimitiveType) && p.Type.GetTypeString() != "com.google.gson.JsonElement") {
sb.AppendFormat(importFormat,
host.CurrentModel.NamespaceName(),
getPackagePrefix(p),
p.Type.GetTypeString());
sb.Append("\n");
}
}
}
return sb.ToString();
}

public string CreatePackageDefForIBaseMethodBodyRequest(CustomT4Host host)
{
var sb = new StringBuilder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
<#@ output extension="\\" #>
<#host.TemplateName = BaseTypeCollectionResponse(c);#>
<#=writer.WriteHeader()#>
<#=CreatePackageDef(host)#>

<#=CreatePackageDefForBaseEntityCollectionResponse(host)#>
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.annotations.*;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.microsoft.graph.serializer.AdditionalDataManager;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.ISerializer;

<#=CreateClassDef(BaseTypeCollectionResponse(c), null, "IJsonBackedObject")#>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@
<#@ output extension="\\" #>
<#host.TemplateName = BaseTypeRequestBuilder(c);#>
<#=writer.WriteHeader()#>
<#=CreatePackageDef(host)#>
<#=CreatePackageDefForBaseMethodRequestBuilder(host)#>
import com.microsoft.graph.core.BaseActionRequestBuilder;
import com.microsoft.graph.core.BaseFunctionRequestBuilder;
import com.microsoft.graph.core.IBaseClient;
import com.microsoft.graph.options.Option;
import com.microsoft.graph.options.FunctionOption;
import com.google.gson.JsonElement;

<# bool isAction = !c.AsOdcmMethod().IsFunction; #>
<#=CreateClassDef(BaseTypeRequestBuilder(c), RequestBuilderSuperClass(c))#>

Expand Down