From 522901d24ee288e0f6009620ab3931df551bd576 Mon Sep 17 00:00:00 2001 From: "FAREAST\\deagrawa" Date: Wed, 20 Jun 2018 15:52:20 +0530 Subject: [PATCH 1/2] Fixing import statements for BaseEntityCollectionPage tempalte. This template generates ~200 files and helps improve memory footprint for java sdk. --- Templates/Java/BaseJavaModel.template.tt | 26 +++++++++++++++++++ .../BaseEntityCollectionPage.java.tt | 6 ++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Templates/Java/BaseJavaModel.template.tt b/Templates/Java/BaseJavaModel.template.tt index a974c5d63..103cf239c 100644 --- a/Templates/Java/BaseJavaModel.template.tt +++ b/Templates/Java/BaseJavaModel.template.tt @@ -567,6 +567,32 @@ return sb.ToString(); } + public string CreatePackageDefForBaseEntityCollectionPage(CustomT4Host host) + { + var sb = new StringBuilder(); + sb.Append(CreatePackageDefinition(host)); + + var importFormat = @"import {0}.{1}.{2};"; + string modelClassName; + if (host.CurrentType is OdcmMethod) + modelClassName = OdcmMethodReturnType(host.CurrentType as OdcmMethod); + else + modelClassName = TypeName(host.CurrentType); + + + sb.AppendFormat(importFormat, + host.CurrentModel.NamespaceName(), + "models.extensions", + modelClassName); + sb.Append("\n"); + sb.AppendFormat(importFormat, + host.CurrentModel.NamespaceName(), + "requests.extensions", + ITypeCollectionRequestBuilder(host.CurrentType)); + + return sb.ToString(); + } + //Fixing package and import statement for model classes public string CreatePackageDefForEntity(CustomT4Host host) { diff --git a/Templates/Java/requests_generated/BaseEntityCollectionPage.java.tt b/Templates/Java/requests_generated/BaseEntityCollectionPage.java.tt index befb77f54..b81d0d03d 100644 --- a/Templates/Java/requests_generated/BaseEntityCollectionPage.java.tt +++ b/Templates/Java/requests_generated/BaseEntityCollectionPage.java.tt @@ -4,10 +4,8 @@ <#@ output extension="\\" #> <#=writer.WriteHeader()#> <#=CreatAutogeneratedWarning()#> -<#=CreatePackageDef(host)#> - -import com.google.gson.JsonObject; -import com.google.gson.annotations.*; +<#=CreatePackageDefForBaseEntityCollectionPage(host)#> +import com.microsoft.graph.http.BaseCollectionPage; <#=CreateClassDef(BaseTypeCollectionPage(c), "BaseCollectionPage" + CollectionPageGeneric(c), IBaseTypeCollectionPage(c))#> <# From b5dc00f70b2c07fb2bda8316de0b8ffc9393e483 Mon Sep 17 00:00:00 2001 From: "FAREAST\\deagrawa" Date: Thu, 21 Jun 2018 11:12:05 +0530 Subject: [PATCH 2/2] Fixing import statements for IBaseMethodRequestBuilder template. This template generates ~400 files and helps improve memory footprint for java sdk --- Templates/Java/BaseJavaModel.template.tt | 13 +++++++++++++ .../IBaseMethodRequestBuilder.java.tt | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Templates/Java/BaseJavaModel.template.tt b/Templates/Java/BaseJavaModel.template.tt index 103cf239c..eb4cd518a 100644 --- a/Templates/Java/BaseJavaModel.template.tt +++ b/Templates/Java/BaseJavaModel.template.tt @@ -567,6 +567,19 @@ return sb.ToString(); } + public string CreatePackageDefIBaseMethodRequestBuilder(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"); + return sb.ToString(); + } + public string CreatePackageDefForBaseEntityCollectionPage(CustomT4Host host) { var sb = new StringBuilder(); diff --git a/Templates/Java/requests_generated/IBaseMethodRequestBuilder.java.tt b/Templates/Java/requests_generated/IBaseMethodRequestBuilder.java.tt index 2bbeab20e..9cc6aeb52 100644 --- a/Templates/Java/requests_generated/IBaseMethodRequestBuilder.java.tt +++ b/Templates/Java/requests_generated/IBaseMethodRequestBuilder.java.tt @@ -4,7 +4,9 @@ <#@ output extension="\\" #> <#host.TemplateName = IBaseTypeRequestBuilder(c);#> <#=writer.WriteHeader()#> -<#=CreatePackageDef(host)#> +<#=CreatePackageDefIBaseMethodRequestBuilder(host)#> +import com.microsoft.graph.http.IRequestBuilder; +import com.microsoft.graph.options.Option; <#=CreateInterfaceDef(IBaseTypeRequestBuilder(c), "IRequestBuilder")#>