|
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