Skip to content

Commit 989adfd

Browse files
CharlesDuboisSAPbot-sdk-jsMatKuhr
authored
Cloud SDK generator with oneOf fix (#186)
* Cloud SDK generator with oneOf fix * Skip generation * Formatting * Beta * 0.36.1 * Added generateApis option to false * Added skip true * Revert spec to 0.29.3 * Revert e2e test fixes * Merge main * Delete os generator files * Revert spec changes --------- Co-authored-by: SAP Cloud SDK Bot <[email protected]> Co-authored-by: Matthias Kuhr <[email protected]>
1 parent a1b7749 commit 989adfd

File tree

50 files changed

+4234
-2878
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+4234
-2878
lines changed

core/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@
157157
<groupId>com.sap.cloud.sdk.datamodel</groupId>
158158
<artifactId>openapi-generator-maven-plugin</artifactId>
159159
<configuration>
160+
<skip>true</skip>
161+
<!-- TODO: remove this once Cloud SDK 5.15.0 is released -->
160162
<outputDirectory>${project.basedir}/src/main/java</outputDirectory>
161163
<apiMaturity>released</apiMaturity>
162164
<enableOneOfAnyOfGeneration>true</enableOneOfAnyOfGeneration>

core/src/main/java/com/sap/ai/sdk/core/client/model/BckndGenericSecretPatchBody.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public BckndGenericSecretPatchBody data(@Nonnull final Map<String, String> data)
6161
@Nonnull
6262
public BckndGenericSecretPatchBody putdataItem(
6363
@Nonnull final String key, @Nonnull final String dataItem) {
64-
this.data = new HashMap<>();
6564
this.data.put(key, dataItem);
6665
return this;
6766
}

core/src/main/java/com/sap/ai/sdk/core/client/model/BckndGenericSecretPostBody.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ public BckndGenericSecretPostBody data(@Nonnull final Map<String, String> data)
100100
@Nonnull
101101
public BckndGenericSecretPostBody putdataItem(
102102
@Nonnull final String key, @Nonnull final String dataItem) {
103-
this.data = new HashMap<>();
104103
this.data.put(key, dataItem);
105104
return this;
106105
}

core/src/main/java/com/sap/ai/sdk/core/client/model/BckndResourceGetResponse.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ public BckndResourceGetResponse resourcePlans(
6464
public BckndResourceGetResponse putresourcePlansItem(
6565
@Nonnull final String key,
6666
@Nonnull final BckndResourceGetResourcePlansValue resourcePlansItem) {
67-
this.resourcePlans = new HashMap<>();
6867
this.resourcePlans.put(key, resourcePlansItem);
6968
return this;
7069
}

orchestration/.openapi-generator-ignore

Lines changed: 0 additions & 18 deletions
This file was deleted.

orchestration/pom.xml

Lines changed: 18 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@
8585
<groupId>org.slf4j</groupId>
8686
<artifactId>slf4j-api</artifactId>
8787
</dependency>
88-
<dependency>
89-
<groupId>javax.annotation</groupId>
90-
<artifactId>javax.annotation-api</artifactId>
91-
</dependency>
9288
<dependency>
9389
<groupId>com.google.guava</groupId>
9490
<artifactId>guava</artifactId>
@@ -140,72 +136,40 @@
140136
<build>
141137
<plugins>
142138
<plugin>
143-
<groupId>org.openapitools</groupId>
139+
<groupId>com.sap.cloud.sdk.datamodel</groupId>
144140
<artifactId>openapi-generator-maven-plugin</artifactId>
141+
<configuration>
142+
<skip>true</skip>
143+
<!-- TODO: remove this once Cloud SDK 5.15.0 is released -->
144+
<outputDirectory>${project.basedir}/src/main/java</outputDirectory>
145+
<apiMaturity>beta</apiMaturity>
146+
<enableOneOfAnyOfGeneration>true</enableOneOfAnyOfGeneration>
147+
<compileScope>COMPILE</compileScope>
148+
<deleteOutputDirectory>true</deleteOutputDirectory>
149+
</configuration>
145150
<executions>
146151
<execution>
152+
<id>orchestration</id>
147153
<goals>
148154
<goal>generate</goal>
149155
</goals>
150156
<phase>generate-sources</phase>
151157
<configuration>
152-
<!-- Specify the input OpenAPI spec file -->
153158
<inputSpec>${project.basedir}/src/main/resources/spec/orchestration.yaml</inputSpec>
154-
<output>${project.basedir}</output>
155-
<!-- Specify the generator to use, e.g., java, spring, kotlin, etc. -->
156-
<generatorName>java</generatorName>
157-
<!-- Specify the package names for models, APIs, and invokers -->
159+
<apiPackage>com.sap.ai.sdk.orchestration.client</apiPackage>
160+
<generateApis>false</generateApis>
158161
<modelPackage>com.sap.ai.sdk.orchestration.client.model</modelPackage>
159-
<apiPackage>com.sap.ai.sdk.orchestration.client.api</apiPackage>
160-
<invokerPackage>com.sap.ai.sdk.orchestration.client.invoker</invokerPackage>
161-
162-
<!-- Global properties level; can be unpacked with 'generate' prefix-->
163-
<globalProperties>
164-
<apiDocs>false</apiDocs>
165-
<modelDocs>false</modelDocs>
166-
<modelTests>false</modelTests>
167-
<apiTests>false</apiTests>
168-
<minimalUpdate>true</minimalUpdate>
169-
</globalProperties>
170-
171-
<!-- Generator Specific properties level; some can be unpacked-->
172-
<configOptions>
173-
<generateBuilders>true</generateBuilders>
174-
<failOnUnknownProperties>false</failOnUnknownProperties>
175-
<hideGenerationTimestamp>true</hideGenerationTimestamp>
176-
<disallowAdditionalPropertiesIfNotPresent>false</disallowAdditionalPropertiesIfNotPresent>
162+
<additionalProperties>
163+
<pojoBuilderMethodName>create</pojoBuilderMethodName>
164+
<pojoBuildMethodName/>
165+
<pojoConstructorVisibility>protected</pojoConstructorVisibility>
177166
<enumUnknownDefaultCase>true</enumUnknownDefaultCase>
178-
<useBeanValidation>false</useBeanValidation>
179167
<useOneOfInterfaces>true</useOneOfInterfaces>
180-
<additionalModelTypeAnnotations>@com.google.common.annotations.Beta</additionalModelTypeAnnotations>
181-
</configOptions>
182-
<generateModels>true</generateModels>
183-
<generateSupportingFiles>false</generateSupportingFiles>
184-
<generateApis>false</generateApis>
185-
<library>resttemplate</library>
186-
<!--<configHelp>true</configHelp>-->
168+
</additionalProperties>
187169
</configuration>
188170
</execution>
189171
</executions>
190172
</plugin>
191-
<plugin>
192-
<artifactId>maven-clean-plugin</artifactId>
193-
<configuration>
194-
<filesets>
195-
<fileset>
196-
<directory>${project.basedir}/src/main/java/com/sap/ai/sdk/orchestration/client</directory>
197-
<includes>
198-
<include>**/*</include>
199-
</includes>
200-
</fileset>
201-
</filesets>
202-
</configuration>
203-
<executions>
204-
<execution>
205-
<id>delete-orchestration-generated-client</id>
206-
</execution>
207-
</executions>
208-
</plugin>
209173
</plugins>
210174
</build>
211175
</profile>

orchestration/src/main/java/com/sap/ai/sdk/orchestration/AzureContentFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ public AzureContentSafetyFilterConfig createConfig() {
5353
throw new IllegalArgumentException("At least one filter category must be set");
5454
}
5555

56-
return new AzureContentSafetyFilterConfig()
56+
return AzureContentSafetyFilterConfig.create()
5757
.type(AzureContentSafetyFilterConfig.TypeEnum.AZURE_CONTENT_SAFETY)
5858
.config(
59-
new AzureContentSafety()
59+
AzureContentSafety.create()
6060
.hate(hate != null ? hate.getAzureThreshold() : null)
6161
.selfHarm(selfHarm != null ? selfHarm.getAzureThreshold() : null)
6262
.sexual(sexual != null ? sexual.getAzureThreshold() : null)

orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ static CompletionPostRequest toCompletionPostRequest(
2727
// subsequent requests
2828
val configCopy = config.withTemplateConfig(template);
2929

30-
return new CompletionPostRequest()
30+
return CompletionPostRequest.create()
3131
.orchestrationConfig(
32-
new OrchestrationConfig().moduleConfigurations(toModuleConfigs(configCopy)))
32+
OrchestrationConfig.create().moduleConfigurations(toModuleConfigs(configCopy)))
3333
.inputParams(prompt.getTemplateParameters())
3434
.messagesHistory(prompt.getMessagesHistory());
3535
}
@@ -51,7 +51,7 @@ static TemplatingModuleConfig toTemplateModuleConfig(
5151
throw new IllegalStateException(
5252
"A prompt is required. Pass at least one message or configure a template with messages or a template reference.");
5353
}
54-
return new Template().template(messagesWithPrompt);
54+
return Template.create().template(messagesWithPrompt);
5555
}
5656

5757
@Nonnull
@@ -62,7 +62,7 @@ static ModuleConfigs toModuleConfigs(@Nonnull final OrchestrationModuleConfig co
6262

6363
//noinspection DataFlowIssue the template is always non-null here
6464
val moduleConfig =
65-
new ModuleConfigs()
65+
ModuleConfigs.create()
6666
.llmModuleConfig(llmConfig)
6767
.templatingModuleConfig(config.getTemplateConfig());
6868

orchestration/src/main/java/com/sap/ai/sdk/orchestration/DpiMasking.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ public DpiMasking withEntities(
7878
@Nonnull
7979
@Override
8080
public MaskingProviderConfig createConfig() {
81-
val entitiesDTO = entities.stream().map(it -> new DPIEntityConfig().type(it)).toList();
82-
return new DPIConfig()
81+
val entitiesDTO = entities.stream().map(it -> DPIEntityConfig.create().type(it)).toList();
82+
return DPIConfig.create()
8383
.type(SAP_DATA_PRIVACY_INTEGRATION)
8484
.method(maskingMethod)
8585
.entities(entitiesDTO);

orchestration/src/main/java/com/sap/ai/sdk/orchestration/OrchestrationAiModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,6 @@ public class OrchestrationAiModel {
112112

113113
@Nonnull
114114
LLMModuleConfig createConfig() {
115-
return new LLMModuleConfig().modelName(name).modelParams(params).modelVersion(version);
115+
return LLMModuleConfig.create().modelName(name).modelParams(params).modelVersion(version);
116116
}
117117
}

0 commit comments

Comments
 (0)