Skip to content

Commit 8c40275

Browse files
http-client-java, avoid generate sample file on duplicate name (microsoft#7614)
tested locally ``` python eng/automation/generate.py -r specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/privateLinkScopes/readme.md --service kubernetesconfiguration --suffix privatelinkscopes --use='/c/github/autorest.java/' ```
1 parent adab133 commit 8c40275

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/FluentGen.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import com.microsoft.typespec.http.client.generator.mgmt.util.FluentUtils;
5151
import java.util.ArrayList;
5252
import java.util.List;
53+
import java.util.Optional;
5354
import java.util.Set;
5455
import java.util.stream.Collectors;
5556
import org.slf4j.Logger;
@@ -343,7 +344,8 @@ protected FluentClient handleFluentLite(CodeModel codeModel, Client client, Flue
343344
// Samples
344345
List<JavaFile> sampleJavaFiles = new ArrayList<>();
345346
for (FluentExample example : fluentClient.getExamples()) {
346-
sampleJavaFiles.add(javaPackage.addSample(example));
347+
Optional<JavaFile> file = javaPackage.addSample(example);
348+
file.ifPresent(sampleJavaFiles::add);
347349
}
348350

349351
// Readme and Changelog

packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/model/javamodel/FluentJavaPackage.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.microsoft.typespec.http.client.generator.mgmt.template.ResourceManagerUtilsTemplate;
3333
import com.microsoft.typespec.http.client.generator.mgmt.template.SampleTemplate;
3434
import java.util.List;
35+
import java.util.Optional;
3536

3637
public class FluentJavaPackage extends JavaPackage {
3738

@@ -96,11 +97,15 @@ public final void addResourceManagerUtils() {
9697
addJavaFile(javaFile);
9798
}
9899

99-
public final JavaFile addSample(FluentExample example) {
100+
public final Optional<JavaFile> addSample(FluentExample example) {
100101
JavaFile javaFile = getJavaFileFactory().createSampleFile(example.getPackageName(), example.getClassName());
101102
FluentExampleTemplate.getInstance().write(example, javaFile);
102-
addJavaFile(javaFile);
103-
return javaFile;
103+
if (!checkDuplicateFile(javaFile.getFilePath())) {
104+
addJavaFile(javaFile);
105+
return Optional.of(javaFile);
106+
} else {
107+
return Optional.empty();
108+
}
104109
}
105110

106111
public void addOperationUnitTest(FluentMethodMockUnitTest unitTest) {

0 commit comments

Comments
 (0)