Skip to content

Commit 5da649c

Browse files
committed
merge origin
2 parents faacf2e + 2c56a00 commit 5da649c

File tree

9 files changed

+19
-35
lines changed

9 files changed

+19
-35
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313

1414
### Changed
1515

16+
- Fix issue with generating classes with Aliases(PHP)[microsoftgraph/msgraph-beta-sdk-php#197](https://github.com/microsoftgraph/msgraph-beta-sdk-php/pull/197)
1617
- Flattens the models namespaces in Ruby to avoid circular dependencies.
1718
- Adds ObjectId as a reserved keyword in Ruby to have memory management issues.
1819
- Replace Javax annotations in favor of Jakarta annotations for Java code generation. [#2810](https://github.com/microsoft/kiota/issues/2810)
1920
- RequestExecuters call overload methods reducing code generation size for Java. [#3150](https://github.com/microsoft/kiota/issues/3150)
21+
- Remove URISyntaxException from Java generated RequestExecutors and RequestGenerators. [#3149](https://github.com/microsoft/kiota/issues/3149)
2022

2123
## [1.5.1] - 2023-08-08
2224

it/python/requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ lazy-object-proxy==1.9.0 ; python_version >= '3.7'
3030

3131
mccabe==0.7.0 ; python_version >= '3.6'
3232

33-
mypy==1.5.0
33+
mypy==1.5.1
3434

3535
mypy-extensions==1.0.0 ; python_version >= '3.5'
3636

src/Kiota.Builder/Refiners/JavaRefiner.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,6 @@ private static void AddEnumSetImport(CodeElement currentElement)
209209
"java.util", "HashMap"),
210210
new (static x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.RequestGenerator),
211211
AbstractionsNamespaceName, "RequestInformation", "RequestOption", "HttpMethod"),
212-
new (static x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.RequestGenerator),
213-
"java.net", "URISyntaxException"),
214212
new (static x => x is CodeMethod method && method.IsOfKind(CodeMethodKind.RequestGenerator),
215213
"java.util", "Collection", "Map"),
216214
new (static x => x is CodeClass @class && @class.IsOfKind(CodeClassKind.Model),

src/Kiota.Builder/Refiners/PhpRefiner.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,6 @@ private static void AliasUsingWithSameSymbol(CodeElement currentElement)
297297
.Select(x => x.ToFirstCharacterUpperCase())
298298
.ToArray());
299299
usingElement.Alias = $"{(string.IsNullOrEmpty(replacement) ? string.Empty : $"\\{replacement}")}\\{usingElement.Declaration!.TypeDefinition!.Name.ToFirstCharacterUpperCase()}";
300-
usingElement.Declaration.Name = usingElement.Alias;
301300
}
302301
}
303302
CrawlTree(currentElement, AliasUsingWithSameSymbol);

src/Kiota.Builder/Writers/Java/CodeMethodWriter.cs

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@ public override void WriteCodeElement(CodeMethod codeElement, LanguageWriter wri
1717
if (codeElement.Parent is not CodeClass parentClass) throw new InvalidOperationException("the parent of a method should be a class");
1818

1919
var returnType = conventions.GetTypeString(codeElement.ReturnType, codeElement);
20-
WriteMethodDocumentation(codeElement, writer);
2120
if (codeElement.IsAsync &&
2221
codeElement.IsOfKind(CodeMethodKind.RequestExecutor) &&
2322
returnType.Equals("void", StringComparison.OrdinalIgnoreCase))
2423
returnType = "Void"; //generic type for the future
25-
writer.WriteLine(codeElement.ReturnType.IsNullable && !codeElement.IsAsync ? "@jakarta.annotation.Nullable" : "@jakarta.annotation.Nonnull");
26-
var signatureReturnType = WriteMethodPrototype(codeElement, writer, returnType);
24+
WriteMethodDocumentation(codeElement, writer, returnType);
25+
WriteMethodPrototype(codeElement, writer, returnType);
2726
writer.IncreaseIndent();
2827
var inherits = parentClass.StartBlock.Inherits != null && !parentClass.IsErrorDefinition;
2928
var requestBodyParam = codeElement.Parameters.OfKind(CodeParameterKind.RequestBody);
@@ -51,7 +50,7 @@ public override void WriteCodeElement(CodeMethod codeElement, LanguageWriter wri
5150
WriteGeneratorOrExecutorMethodCall(codeElement, requestParams, parentClass, writer, "return ", CodeMethodKind.RequestExecutor);
5251
break;
5352
case CodeMethodKind.RequestExecutor when !codeElement.IsOverload:
54-
WriteRequestExecutorBody(codeElement, requestParams, parentClass, writer, signatureReturnType);
53+
WriteRequestExecutorBody(codeElement, requestParams, parentClass, writer);
5554
break;
5655
case CodeMethodKind.Getter:
5756
WriteGetterBody(codeElement, writer, parentClass);
@@ -461,13 +460,10 @@ private void WriteDeserializerBodyForInheritedModel(CodeMethod method, CodeClass
461460
writer.WriteLine($"return {DeserializerVarName};");
462461
}
463462
private const string FactoryMethodName = "createFromDiscriminatorValue";
464-
private const string ExecuterExceptionVar = "executionException";
465-
private void WriteRequestExecutorBody(CodeMethod codeElement, RequestParams requestParams, CodeClass parentClass, LanguageWriter writer, string signatureReturnType)
463+
private void WriteRequestExecutorBody(CodeMethod codeElement, RequestParams requestParams, CodeClass parentClass, LanguageWriter writer)
466464
{
467465
if (codeElement.HttpMethod == null) throw new InvalidOperationException("http method cannot be null");
468466
var returnType = conventions.GetTypeString(codeElement.ReturnType, codeElement, false);
469-
writer.WriteLine("try {");
470-
writer.IncreaseIndent();
471467
WriteGeneratorOrExecutorMethodCall(codeElement, requestParams, parentClass, writer, $"final RequestInformation {RequestInfoVarName} = ", CodeMethodKind.RequestGenerator);
472468
var sendMethodName = GetSendRequestMethodName(codeElement.ReturnType.IsCollection, returnType, codeElement.ReturnType.AllTypes.First().TypeDefinition is CodeEnum);
473469
var errorMappingVarName = "null";
@@ -482,12 +478,6 @@ private void WriteRequestExecutorBody(CodeMethod codeElement, RequestParams requ
482478
}
483479
var factoryParameter = codeElement.ReturnType is CodeType returnCodeType && returnCodeType.TypeDefinition is CodeClass ? $"{returnType}::{FactoryMethodName}" : $"{returnType}.class";
484480
writer.WriteLine($"return this.requestAdapter.{sendMethodName}({RequestInfoVarName}, {factoryParameter}, {errorMappingVarName});");
485-
writer.DecreaseIndent();
486-
writer.StartBlock("} catch (URISyntaxException ex) {");
487-
writer.WriteLine($"final java.util.concurrent.CompletableFuture<{signatureReturnType}> {ExecuterExceptionVar} = new java.util.concurrent.CompletableFuture<{signatureReturnType}>();");
488-
writer.WriteLine($"{ExecuterExceptionVar}.completeExceptionally(ex);");
489-
writer.WriteLine($"return {ExecuterExceptionVar};");
490-
writer.CloseBlock();
491481
}
492482
private string GetSendRequestMethodName(bool isCollection, string returnType, bool isEnum)
493483
{
@@ -661,7 +651,7 @@ private void WriteSerializationMethodCall(CodeProperty otherProp, CodeMethod met
661651
writer.WriteLine($"writer.{GetSerializationMethodName(otherProp.Type, method)}({serializationKey}, {dataToSerialize});");
662652
}
663653
private static readonly BaseCodeParameterOrderComparer parameterOrderComparer = new();
664-
private string WriteMethodPrototype(CodeMethod code, LanguageWriter writer, string returnType)
654+
private void WriteMethodPrototype(CodeMethod code, LanguageWriter writer, string returnType)
665655
{
666656
var accessModifier = conventions.GetAccessModifier(code.Access);
667657
var returnTypeAsyncPrefix = code.IsAsync ? "java.util.concurrent.CompletableFuture<" : string.Empty;
@@ -673,35 +663,32 @@ private string WriteMethodPrototype(CodeMethod code, LanguageWriter writer, stri
673663
_ => code.Name.ToFirstCharacterLowerCase()
674664
};
675665
var parameters = string.Join(", ", code.Parameters.OrderBy(static x => x, parameterOrderComparer).Select(p => conventions.GetParameterSignature(p, code)));
676-
var throwableDeclarations = code.Kind switch
677-
{
678-
CodeMethodKind.RequestGenerator => "throws URISyntaxException ",
679-
_ => string.Empty
680-
};
681666
var collectionCorrectedReturnType = code.ReturnType.IsArray && code.IsOfKind(CodeMethodKind.RequestExecutor) ?
682667
$"Iterable<{returnType.StripArraySuffix()}>" :
683668
returnType;
684669
var finalReturnType = isConstructor ? string.Empty : $" {returnTypeAsyncPrefix}{collectionCorrectedReturnType}{returnTypeAsyncSuffix}";
685670
var staticModifier = code.IsStatic ? " static" : string.Empty;
686671
conventions.WriteDeprecatedAnnotation(code, writer);
687-
writer.WriteLine($"{accessModifier}{staticModifier}{finalReturnType} {methodName}({parameters}) {throwableDeclarations}{{");
688-
return collectionCorrectedReturnType;
672+
writer.WriteLine($"{accessModifier}{staticModifier}{finalReturnType} {methodName}({parameters}) {{");
689673
}
690-
private void WriteMethodDocumentation(CodeMethod code, LanguageWriter writer)
674+
private void WriteMethodDocumentation(CodeMethod code, LanguageWriter writer, string returnType)
691675
{
692-
var returnRemark = code.IsAsync switch
676+
var returnVoid = returnType.Equals("void", StringComparison.OrdinalIgnoreCase);
677+
// Void returns, this includes constructors, should not have a return statement in the JavaDocs.
678+
var returnRemark = returnVoid ? string.Empty : (code.IsAsync switch
693679
{
694680
true => $"@return a CompletableFuture of {code.ReturnType.Name}",
695681
false => $"@return a {code.ReturnType.Name}",
696-
};
682+
});
697683
conventions.WriteLongDescription(code,
698684
writer,
699685
code.Parameters
700686
.Where(static x => x.Documentation.DescriptionAvailable)
701687
.OrderBy(static x => x.Name, StringComparer.OrdinalIgnoreCase)
702688
.Select(x => $"@param {x.Name} {JavaConventionService.RemoveInvalidDescriptionCharacters(x.Documentation.Description)}")
703689
.Union(new[] { returnRemark }));
704-
690+
if (!returnVoid) //Nullable/Nonnull annotations for returns are a part of Method Documentation
691+
writer.WriteLine(code.ReturnType.IsNullable && !code.IsAsync ? "@jakarta.annotation.Nullable" : "@jakarta.annotation.Nonnull");
705692
}
706693
private string GetDeserializationMethodName(CodeTypeBase propType, CodeMethod method)
707694
{

tests/Kiota.Builder.IntegrationTests/Kiota.Builder.IntegrationTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
<PrivateAssets>all</PrivateAssets>
1616
</PackageReference>
17-
<PackageReference Include="Microsoft.NET.Test.SDK" Version="17.7.0" />
17+
<PackageReference Include="Microsoft.NET.Test.SDK" Version="17.7.1" />
1818
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
1919
<PackageReference Include="xunit" Version="2.5.0" />
2020
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">

tests/Kiota.Builder.Tests/Kiota.Builder.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PrivateAssets>all</PrivateAssets>
1818
</PackageReference>
1919
<PackageReference Include="DotNet.Glob" Version="3.1.3" />
20-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.0" />
20+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
2121
<PackageReference Include="moq" Version="4.20.69" />
2222
<PackageReference Include="xunit" Version="2.5.0" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">

tests/Kiota.Builder.Tests/Writers/Java/CodeMethodWriterTests.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,8 +653,6 @@ public void WritesRequestExecutorBody()
653653
Assert.Contains("put(\"5XX\", Error5XX::createFromDiscriminatorValue);", result);
654654
Assert.Contains("put(\"401\", Error401::createFromDiscriminatorValue);", result);
655655
Assert.Contains("sendAsync", result);
656-
Assert.Contains($"java.util.concurrent.CompletableFuture<Somecustomtype> {ExecuterExceptionVar} = new java.util.concurrent.CompletableFuture<Somecustomtype>();", result);
657-
Assert.Contains($"{ExecuterExceptionVar}.completeExceptionally(ex);", result);
658656
AssertExtensions.CurlyBracesAreClosed(result);
659657
}
660658
[Fact]

tests/Kiota.Tests/Kiota.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1212
<PrivateAssets>all</PrivateAssets>
1313
</PackageReference>
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.0" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
1515
<PackageReference Include="xunit" Version="2.5.0" />
1616
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0">
1717
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

0 commit comments

Comments
 (0)