|
372 | 372 | return typeString; |
373 | 373 | } |
374 | 374 |
|
375 | | - public string CreatePackageDefForBaseEntityRequestBuilder(CustomT4Host host) |
| 375 | + public string CreatePackageDefForBaseEntityRequest(CustomT4Host host) |
376 | 376 | { |
377 | 377 | var sb = new StringBuilder(); |
378 | 378 | sb.Append(CreatePackageDefinition(host)); |
379 | | - |
380 | | - var importFormat = @"import {0}.{1}.{2};"; |
| 379 | + var importFormat = "import {0}.{1}.{2};\n"; |
381 | 380 | sb.AppendFormat(importFormat, |
382 | 381 | host.CurrentModel.NamespaceName(), |
383 | 382 | "requests.extensions", |
384 | 383 | ITypeRequest(host.CurrentType)); |
385 | | - sb.Append("\n"); |
| 384 | + |
386 | 385 | sb.AppendFormat(importFormat, |
387 | 386 | host.CurrentModel.NamespaceName(), |
388 | 387 | "requests.extensions", |
389 | 388 | TypeRequest(host.CurrentType)); |
| 389 | + |
| 390 | + sb.AppendFormat(importFormat, |
| 391 | + host.CurrentModel.NamespaceName(), |
| 392 | + "models.extensions", |
| 393 | + TypeName(host.CurrentType)); |
| 394 | + return sb.ToString(); |
| 395 | + } |
| 396 | + |
| 397 | + public string CreatePackageDefForBaseEntityRequestBuilder(CustomT4Host host) |
| 398 | + { |
| 399 | + var sb = new StringBuilder(); |
| 400 | + sb.Append(CreatePackageDefinition(host)); |
| 401 | + |
| 402 | + var importFormat = @"import {0}.{1}.{2};"; |
| 403 | + sb.AppendFormat(importFormat, |
| 404 | + host.CurrentModel.NamespaceName(), |
| 405 | + "requests.extensions", |
| 406 | + ITypeRequest(host.CurrentType)); |
390 | 407 | sb.Append("\n"); |
391 | 408 | var c = host.CurrentType; |
392 | 409 | if (c.AsOdcmClass() != null) |
|
529 | 546 | } |
530 | 547 | return parameterSignatureBuilder.ToString(); |
531 | 548 | } |
| 549 | + |
| 550 | + public string MethodParametersImports(OdcmMethod method) { |
| 551 | + var parameterSignatureBuilder = new StringBuilder(); |
| 552 | + foreach (var p in method.Parameters) |
| 553 | + { |
| 554 | + if(!(p.Type is OdcmPrimitiveType)) { |
| 555 | + var typeName = ParamType(p); |
| 556 | + if(typeName.Contains("<")) { |
| 557 | + typeName = typeName.Substring(typeName.IndexOf("<")+1).TrimEnd('>'); |
| 558 | + } |
| 559 | + if(typeName.Contains(".")) { |
| 560 | + parameterSignatureBuilder.AppendFormat("import {0};\n", typeName); |
| 561 | + } else { |
| 562 | + var namespacePart = ((p.Type is OdcmEnum) || (p.Type is OdcmComplexClass) || (p.Type is OdcmProjection) || (p.Type is OdcmEntityClass)) ? "models" : "requests"; |
| 563 | + var namespaceEnd = (p.Type is OdcmEnum) ? "generated" : "extensions"; |
| 564 | + parameterSignatureBuilder.AppendFormat("import com.microsoft.graph.{0}.{1}.{2};\r\n", namespacePart, namespaceEnd, typeName); |
| 565 | + } |
| 566 | + } |
| 567 | + } |
| 568 | + return parameterSignatureBuilder.ToString(); |
| 569 | + } |
532 | 570 |
|
533 | 571 | public string MethodParametersSignature(OdcmMethod method) { |
534 | 572 | var parameterSignatureBuilder = new StringBuilder(); |
|
561 | 599 | var pageValuesBuilder = new StringBuilder(); |
562 | 600 | foreach (var param in c.AsOdcmMethod().Parameters) |
563 | 601 | { |
564 | | - var paramName = param.Name.ToLowerFirstChar(); |
565 | | - pageValuesBuilder.AppendFormat(", /* {0} */ null", paramName); |
| 602 | + pageValuesBuilder.AppendFormat(", ({0}) null", ParamType(param)); |
566 | 603 | } |
567 | 604 | return pageValuesBuilder.ToString(); |
568 | 605 | } |
|
618 | 655 | return method.ReturnType is OdcmPrimitiveType |
619 | 656 | ? method.ReturnType.GetTypeString() : method.ReturnType.Name.ToCheckedCase(); |
620 | 657 | } |
| 658 | + public string OdcmMethodReturnNamespaceSection(OdcmMethod method) { |
| 659 | + return method.ReturnType is OdcmEnum |
| 660 | + ? "generated" : "extensions"; |
| 661 | + } |
621 | 662 |
|
622 | | - public string CollectionPageGeneric(OdcmObject c) { |
| 663 | + public bool ShouldIncludeCollectionTypeReference(OdcmObject c) { |
| 664 | + return !(c is OdcmMethod && (c as OdcmMethod).ReturnType is OdcmPrimitiveType); |
| 665 | + } |
| 666 | + |
| 667 | + public string TargetCollectionType(OdcmObject c) { |
623 | 668 | if (c is OdcmMethod) { |
624 | | - string returnType = OdcmMethodReturnType(c as OdcmMethod); |
625 | | - return "<" + returnType + ", " + ITypeCollectionRequestBuilder(c) + ">"; |
| 669 | + return OdcmMethodReturnType(c as OdcmMethod); |
| 670 | + } else { |
| 671 | + return TypeName(c); |
626 | 672 | } |
627 | | - return "<" + TypeName(c) + ", " + ITypeCollectionRequestBuilder(c) + ">"; |
| 673 | + } |
| 674 | + |
| 675 | + public string CollectionPageGeneric(OdcmObject c) { |
| 676 | + return "<" + TargetCollectionType(c) + ", " + ITypeCollectionRequestBuilder(c) + ">"; |
628 | 677 | } |
629 | 678 |
|
630 | 679 | public string CollectionPageWithReferencesGeneric(OdcmObject c) { |
|
679 | 728 | return "requests.extensions"; |
680 | 729 | } |
681 | 730 |
|
682 | | - //Get package prefix using OdcmProperty for model classes |
683 | | - public string getPackagePrefix(OdcmProperty property) |
| 731 | + public string getPackagePrefix(OdcmObject obj) |
684 | 732 | { |
685 | | - var propertyType = property.GetTypeString(); |
686 | | - |
687 | | - if(property.Type is OdcmEnum) |
688 | | - return "models.generated"; |
689 | | - |
690 | | - return getPrefixForModels(propertyType); |
691 | | - } |
692 | | - |
693 | | - //Get package prefix using OdcmProperty for model classes |
694 | | - public string getPackagePrefix(OdcmParameter property) |
695 | | - { |
696 | | - var propertyType = property.GetTypeString(); |
697 | | - |
698 | | - if(property.Type is OdcmEnum) |
699 | | - return "models.generated"; |
700 | | - |
701 | | - return getPrefixForModels(propertyType); |
| 733 | + if(obj is OdcmEnum) { |
| 734 | + return "models.generated"; |
| 735 | + } else if(obj is OdcmType) { |
| 736 | + return getPrefixForModels((obj as OdcmType).GetTypeString()); |
| 737 | + } else if(obj is OdcmParameter) { |
| 738 | + return getPackagePrefix((obj as OdcmParameter).Type); |
| 739 | + } else if(obj is OdcmProperty) { |
| 740 | + return getPackagePrefix((obj as OdcmProperty).Type); |
| 741 | + } else { |
| 742 | + throw new ArgumentException("obj"); |
| 743 | + } |
702 | 744 | } |
703 | 745 |
|
704 | 746 | public string CreatePackageDefinition(CustomT4Host host) |
705 | 747 | { |
706 | 748 | var sb = new StringBuilder(); |
707 | | - var packageFormat = @"package {0}.{1};"; |
| 749 | + var packageFormat = "package {0}.{1};\n"; |
708 | 750 | sb.AppendFormat(packageFormat, |
709 | 751 | host.CurrentModel.NamespaceName(), |
710 | 752 | host.TemplateInfo.OutputParentDirectory.Replace("_", ".")); |
711 | | - sb.Append("\n"); |
712 | 753 | return sb.ToString(); |
713 | 754 | } |
714 | 755 |
|
|
729 | 770 | { |
730 | 771 | var sb = new StringBuilder(); |
731 | 772 | sb.Append(CreatePackageDefinition(host)); |
732 | | - var importFormat = @"import {0}.{1}.{2};"; |
| 773 | + var importFormat = "import {0}.{1}.{2};\n"; |
733 | 774 |
|
734 | 775 | var returnType = ReturnType(host.CurrentType); |
735 | 776 | if(returnType != "Void" && !(host.CurrentType.AsOdcmMethod().ReturnType is OdcmPrimitiveType)) |
736 | 777 | { |
737 | 778 | sb.AppendFormat(importFormat, |
738 | 779 | host.CurrentModel.NamespaceName(), |
739 | | - "models.extensions", |
| 780 | + (host.CurrentType.AsOdcmMethod().ReturnType is OdcmEnum ? "models.generated" : "models.extensions"), |
740 | 781 | ReturnType(host.CurrentType)); |
741 | | - sb.Append("\n"); |
742 | 782 | } |
743 | 783 |
|
744 | 784 | sb.AppendFormat(importFormat, |
745 | 785 | host.CurrentModel.NamespaceName(), |
746 | 786 | "requests.extensions", |
747 | 787 | ITypeRequest(host.CurrentType)); |
748 | | - sb.Append("\n"); |
749 | 788 | return sb.ToString(); |
750 | 789 | } |
751 | 790 |
|
|
851 | 890 | { |
852 | 891 | var sb = new StringBuilder(); |
853 | 892 | sb.Append(CreatePackageDefinition(host)); |
854 | | - var importFormat = @"import {0}.{1}.{2};"; |
| 893 | + var importFormat = "import {0}.{1}.{2};\n"; |
855 | 894 |
|
856 | 895 | sb.AppendFormat(importFormat, |
857 | 896 | host.CurrentModel.NamespaceName(), |
858 | | - "models.extensions", |
| 897 | + (host.CurrentType.AsOdcmMethod().ReturnType is OdcmEnum ? "models.generated" : "models.extensions"), |
859 | 898 | TypeBody(host.CurrentType)); |
860 | | - sb.Append("\n"); |
861 | 899 | var returnType = ReturnType(host.CurrentType); |
862 | 900 | if(returnType != "Void" && !(host.CurrentType.AsOdcmMethod().ReturnType is OdcmPrimitiveType)) |
863 | 901 | { |
864 | 902 | sb.AppendFormat(importFormat, |
865 | 903 | host.CurrentModel.NamespaceName(), |
866 | 904 | "models.extensions", |
867 | 905 | ReturnType(host.CurrentType)); |
868 | | - sb.Append("\n"); |
869 | 906 | } |
870 | 907 |
|
871 | 908 | if(host.CurrentType.AsOdcmMethod().IsCollection) |
|
874 | 911 | host.CurrentModel.NamespaceName(), |
875 | 912 | "requests.extensions", |
876 | 913 | ITypeCollectionRequest(host.CurrentType)); |
877 | | - sb.Append("\n"); |
878 | 914 |
|
879 | 915 | sb.AppendFormat(importFormat, |
880 | 916 | host.CurrentModel.NamespaceName(), |
881 | 917 | "requests.extensions", |
882 | 918 | TypeCollectionRequest(host.CurrentType)); |
883 | | - sb.Append("\n"); |
884 | 919 | } |
885 | 920 | else |
886 | 921 | { |
887 | 922 | sb.AppendFormat(importFormat, |
888 | 923 | host.CurrentModel.NamespaceName(), |
889 | 924 | "requests.extensions", |
890 | 925 | ITypeRequest(host.CurrentType)); |
891 | | - sb.Append("\n"); |
892 | 926 |
|
893 | 927 | sb.AppendFormat(importFormat, |
894 | 928 | host.CurrentModel.NamespaceName(), |
895 | 929 | "requests.extensions", |
896 | 930 | TypeRequest(host.CurrentType)); |
897 | | - sb.Append("\n"); |
898 | 931 | } |
899 | 932 | return sb.ToString(); |
900 | 933 | } |
|
949 | 982 | host.TemplateInfo.OutputParentDirectory.Replace("_", ".")); |
950 | 983 | sb.Append("\n"); |
951 | 984 |
|
952 | | - sb.AppendFormat(@"import {0}.concurrency.*; |
953 | | -import {0}.core.*; |
954 | | -import {0}.http.*; |
955 | | -import {0}.options.*; |
956 | | -import {0}.serializer.*; |
| 985 | + sb.AppendFormat(@"import {0}.serializer.ISerializer; |
| 986 | +import {0}.serializer.IJsonBackedObject; |
| 987 | +import {0}.serializer.AdditionalDataManager; |
957 | 988 | import java.util.Arrays; |
958 | 989 | import java.util.EnumSet;", host.CurrentModel.NamespaceName()); |
959 | 990 |
|
@@ -1064,15 +1095,8 @@ import java.util.EnumSet;", host.CurrentModel.NamespaceName()); |
1064 | 1095 | { |
1065 | 1096 | var format = @"package {0}.{1}; |
1066 | 1097 |
|
1067 | | -import {0}.concurrency.*; |
1068 | | -import {0}.core.*; |
1069 | | -import {0}.models.extensions.*; |
1070 | | -import {0}.models.generated.*;{2} |
1071 | | -import {0}.http.*; |
1072 | | -import {0}.requests.extensions.*; |
1073 | | -import {0}.options.*; |
1074 | | -import {0}.serializer.*; |
1075 | | - |
| 1098 | +import com.microsoft.graph.http.IRequestBuilder; |
| 1099 | +import com.microsoft.graph.concurrency.ICallback; |
1076 | 1100 | import java.util.Arrays; |
1077 | 1101 | import java.util.EnumSet;"; |
1078 | 1102 |
|
|
0 commit comments