Skip to content

Commit d332b7c

Browse files
authored
Merge pull request #149 from microsoftgraph/java-template-fix
Remove duplicate import statemement
2 parents 6e4e5f6 + 599a004 commit d332b7c

File tree

1 file changed

+42
-18
lines changed

1 file changed

+42
-18
lines changed

Templates/Java/BaseJavaModel.template.tt

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,7 @@ import java.util.EnumSet;", host.CurrentModel.NamespaceName());
819819

820820
sb.Append("\n");
821821
var importFormat = @"import {0}.{1}.{2};";
822+
Dictionary<string, int> uniqueStore = new Dictionary<string, int>();
822823

823824
foreach (var property in properties.Where(p => !p.Projection.Type.Name.Equals("Stream")))
824825
{
@@ -833,41 +834,57 @@ import java.util.EnumSet;", host.CurrentModel.NamespaceName());
833834
propertyType = propertyType.Substring("EnumSet<".Length, propertyType.Length-("EnumSet<".Length+1));
834835

835836
string prefixValue = getPackagePrefix(property);
836-
sb.AppendFormat(importFormat,
837+
string importstr= String.Format(importFormat,
837838
host.CurrentModel.NamespaceName(),
838839
prefixValue,
839840
propertyType);
840-
sb.Append("\n");
841+
if(!uniqueStore.ContainsKey(importstr)){
842+
uniqueStore.Add(importstr, 0);
843+
sb.Append(importstr);
844+
sb.Append("\n");
845+
}
841846

842847
}
843848

844849
string baseClassNameType = BaseClassName(host.CurrentType);
845850
if(baseClassNameType != "")
846851
{
847852
string prefixValue = getPrefixForModels(baseClassNameType);
848-
sb.AppendFormat(importFormat,
853+
string importstr= String.Format(importFormat,
849854
host.CurrentModel.NamespaceName(),
850855
prefixValue,
851856
baseClassNameType);
852-
sb.Append("\n");
857+
if(!uniqueStore.ContainsKey(importstr)){
858+
uniqueStore.Add(importstr, 0);
859+
sb.Append(importstr);
860+
sb.Append("\n");
861+
}
853862
}
854863

855864
string baseTypeNameStr = BaseTypeName(host.CurrentType);
856865
if(baseTypeNameStr == "BasePlannerAssignments")
857866
{
858-
sb.AppendFormat(importFormat,
859-
host.CurrentModel.NamespaceName(),
867+
string importstr= String.Format(importFormat,
868+
host.CurrentModel.NamespaceName(),
860869
"models.extensions",
861870
"PlannerAssignment");
862-
sb.Append("\n");
871+
if(!uniqueStore.ContainsKey(importstr)){
872+
uniqueStore.Add(importstr, 0);
873+
sb.Append(importstr);
874+
sb.Append("\n");
875+
}
863876
}
864877
if(baseTypeNameStr == "BasePlannerChecklistItems")
865-
{
866-
sb.AppendFormat(importFormat,
878+
{
879+
string importstr= String.Format(importFormat,
867880
host.CurrentModel.NamespaceName(),
868881
"models.extensions",
869882
"PlannerChecklistItem");
870-
sb.Append("\n");
883+
if(!uniqueStore.ContainsKey(importstr)){
884+
uniqueStore.Add(importstr, 0);
885+
sb.Append(importstr);
886+
sb.Append("\n");
887+
}
871888
}
872889

873890
if (properties != null)
@@ -878,19 +895,26 @@ import java.util.EnumSet;", host.CurrentModel.NamespaceName());
878895
continue;
879896

880897
var propertyType = BaseTypeCollectionResponse(property);
881-
882-
sb.AppendFormat(importFormat,
883-
host.CurrentModel.NamespaceName(),
884-
getPrefixForRequests(propertyType),
885-
propertyType);
886-
sb.Append("\n");
898+
string importstr= String.Format(importFormat,
899+
host.CurrentModel.NamespaceName(),
900+
getPrefixForRequests(propertyType),
901+
propertyType);
902+
if(!uniqueStore.ContainsKey(importstr)){
903+
uniqueStore.Add(importstr, 0);
904+
sb.Append(importstr);
905+
sb.Append("\n");
906+
}
887907

888908
string propertyValue = TypeCollectionPage(property);
889-
sb.AppendFormat(importFormat,
909+
string importstr1= String.Format(importFormat,
890910
host.CurrentModel.NamespaceName(),
891911
getPrefixForRequests(propertyValue),
892912
propertyValue);
893-
sb.Append("\n");
913+
if(!uniqueStore.ContainsKey(importstr1)){
914+
uniqueStore.Add(importstr1, 0);
915+
sb.Append(importstr1);
916+
sb.Append("\n");
917+
}
894918
}
895919
}
896920
return sb.ToString();

0 commit comments

Comments
 (0)