From 8dcc9c7c5e8a0f4f9a6dc86b0d169efbdfc5a463 Mon Sep 17 00:00:00 2001 From: "FAREAST\\deagrawa" Date: Fri, 22 Jun 2018 16:04:32 +0530 Subject: [PATCH 1/2] Fixing BaseEntityCollectionResponse template import statement. This template generates ~200 files. --- Templates/Java/BaseJavaModel.template.tt | 13 +++++++++++++ .../BaseEntityCollectionResponse.java.tt | 9 ++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Templates/Java/BaseJavaModel.template.tt b/Templates/Java/BaseJavaModel.template.tt index 009308342..d98007c4e 100644 --- a/Templates/Java/BaseJavaModel.template.tt +++ b/Templates/Java/BaseJavaModel.template.tt @@ -567,6 +567,19 @@ 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 CreatePackageDefForIBaseMethodBodyRequest(CustomT4Host host) { var sb = new StringBuilder(); diff --git a/Templates/Java/requests_generated/BaseEntityCollectionResponse.java.tt b/Templates/Java/requests_generated/BaseEntityCollectionResponse.java.tt index d73e508cf..cbaf75729 100644 --- a/Templates/Java/requests_generated/BaseEntityCollectionResponse.java.tt +++ b/Templates/Java/requests_generated/BaseEntityCollectionResponse.java.tt @@ -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")#> From fc2d0308a30d862cdcbb4dd83b9618affe4ae34a Mon Sep 17 00:00:00 2001 From: "FAREAST\\deagrawa" Date: Mon, 25 Jun 2018 16:20:14 +0530 Subject: [PATCH 2/2] Fixing BaseMethodRequestBuilder template import statement. This template generates ~600 files. --- Templates/Java/BaseJavaModel.template.tt | 43 +++++++++++++++++++ .../BaseMethodRequestBuilder.java.tt | 9 +++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/Templates/Java/BaseJavaModel.template.tt b/Templates/Java/BaseJavaModel.template.tt index d98007c4e..d3e8cf791 100644 --- a/Templates/Java/BaseJavaModel.template.tt +++ b/Templates/Java/BaseJavaModel.template.tt @@ -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(); @@ -580,6 +591,38 @@ 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(); diff --git a/Templates/Java/requests_generated/BaseMethodRequestBuilder.java.tt b/Templates/Java/requests_generated/BaseMethodRequestBuilder.java.tt index 3f133b871..49a96e3b7 100644 --- a/Templates/Java/requests_generated/BaseMethodRequestBuilder.java.tt +++ b/Templates/Java/requests_generated/BaseMethodRequestBuilder.java.tt @@ -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))#>