77
88package org .elasticsearch .xpack .inference .services .ibmwatsonx .rerank ;
99
10- import org .apache .logging .log4j .LogManager ;
11- import org .apache .logging .log4j .Logger ;
1210import org .elasticsearch .TransportVersion ;
1311import org .elasticsearch .TransportVersions ;
1412import org .elasticsearch .common .ValidationException ;
3331import static org .elasticsearch .xpack .inference .services .ServiceFields .MAX_INPUT_TOKENS ;
3432import static org .elasticsearch .xpack .inference .services .ServiceFields .URL ;
3533import static org .elasticsearch .xpack .inference .services .ServiceUtils .convertToUri ;
36- import static org .elasticsearch .xpack .inference .services .ServiceUtils .createOptionalUri ;
37- import static org .elasticsearch .xpack .inference .services .ServiceUtils .extractOptionalString ;
34+ import static org .elasticsearch .xpack .inference .services .ServiceUtils .createUri ;
3835import static org .elasticsearch .xpack .inference .services .ServiceUtils .extractRequiredString ;
3936import static org .elasticsearch .xpack .inference .services .ServiceUtils .extractSimilarity ;
4037import static org .elasticsearch .xpack .inference .services .ServiceUtils .removeAsType ;
@@ -55,16 +52,16 @@ public class IbmWatsonxRerankServiceSettings extends FilteredXContentObject impl
5552 public static IbmWatsonxRerankServiceSettings fromMap (Map <String , Object > map , ConfigurationParseContext context ) {
5653 ValidationException validationException = new ValidationException ();
5754
58- String url = extractOptionalString (map , URL , ModelConfigurations .SERVICE_SETTINGS , validationException );
55+ String url = extractRequiredString (map , URL , ModelConfigurations .SERVICE_SETTINGS , validationException );
56+ URI uri = convertToUri (url , URL , ModelConfigurations .SERVICE_SETTINGS , validationException );
5957 String apiVersion = extractRequiredString (map , API_VERSION , ModelConfigurations .SERVICE_SETTINGS , validationException );
6058
6159 // We need to extract/remove those fields to avoid unknown service settings errors
6260 extractSimilarity (map , ModelConfigurations .SERVICE_SETTINGS , validationException );
6361 removeAsType (map , DIMENSIONS , Integer .class );
6462 removeAsType (map , MAX_INPUT_TOKENS , Integer .class );
6563
66- URI uri = convertToUri (url , URL , ModelConfigurations .SERVICE_SETTINGS , validationException );
67- String modelId = extractOptionalString (map , MODEL_ID , ModelConfigurations .SERVICE_SETTINGS , validationException );
64+ String modelId = extractRequiredString (map , MODEL_ID , ModelConfigurations .SERVICE_SETTINGS , validationException );
6865 String projectId = extractRequiredString (map , PROJECT_ID , ModelConfigurations .SERVICE_SETTINGS , validationException );
6966
7067 RateLimitSettings rateLimitSettings = RateLimitSettings .of (
@@ -93,9 +90,9 @@ public static IbmWatsonxRerankServiceSettings fromMap(Map<String, Object> map, C
9390 private final RateLimitSettings rateLimitSettings ;
9491
9592 public IbmWatsonxRerankServiceSettings (
96- @ Nullable URI uri ,
93+ URI uri ,
9794 String apiVersion ,
98- @ Nullable String modelId ,
95+ String modelId ,
9996 String projectId ,
10097 @ Nullable RateLimitSettings rateLimitSettings
10198 ) {
@@ -107,10 +104,10 @@ public IbmWatsonxRerankServiceSettings(
107104 }
108105
109106 public IbmWatsonxRerankServiceSettings (StreamInput in ) throws IOException {
110- this .uri = createOptionalUri (in .readOptionalString ());
107+ this .uri = createUri (in .readString ());
111108 this .apiVersion = in .readString ();
112- this .modelId = in .readOptionalString ();
113- this .projectId = in .readOptionalString ();
109+ this .modelId = in .readString ();
110+ this .projectId = in .readString ();
114111 this .rateLimitSettings = new RateLimitSettings (in );
115112
116113 }
@@ -154,15 +151,11 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
154151
155152 @ Override
156153 protected XContentBuilder toXContentFragmentOfExposedFields (XContentBuilder builder , Params params ) throws IOException {
157- if (uri != null ) {
158- builder .field (URL , uri .toString ());
159- }
154+ builder .field (URL , uri .toString ());
160155
161156 builder .field (API_VERSION , apiVersion );
162157
163- if (modelId != null ) {
164- builder .field (MODEL_ID , modelId );
165- }
158+ builder .field (MODEL_ID , modelId );
166159
167160 builder .field (PROJECT_ID , projectId );
168161
@@ -178,12 +171,11 @@ public TransportVersion getMinimalSupportedVersion() {
178171
179172 @ Override
180173 public void writeTo (StreamOutput out ) throws IOException {
181- var uriToWrite = uri != null ? uri .toString () : null ;
182- out .writeOptionalString (uriToWrite );
174+ out .writeString (uri .toString ());
183175 out .writeString (apiVersion );
184176
185- out .writeOptionalString (modelId );
186- out .writeOptionalString (projectId );
177+ out .writeString (modelId );
178+ out .writeString (projectId );
187179
188180 rateLimitSettings .writeTo (out );
189181 }
0 commit comments