5757import org .eclipse .digitaltwin .basyx .client .internal .ApiException ;
5858import org .eclipse .digitaltwin .basyx .client .internal .ApiResponse ;
5959import org .eclipse .digitaltwin .basyx .client .internal .Pair ;
60+ import org .eclipse .digitaltwin .basyx .client .internal .authorization .TokenManager ;
61+ import org .eclipse .digitaltwin .basyx .core .exceptions .AccessTokenRetrievalException ;
6062import org .eclipse .digitaltwin .basyx .core .pagination .CursorResult ;
6163import org .eclipse .digitaltwin .basyx .http .description .ServiceDescription ;
6264import org .eclipse .digitaltwin .basyx .http .pagination .Base64UrlEncodedCursorResult ;
@@ -73,36 +75,33 @@ public class AssetAdministrationShellServiceApi {
7375 private final Consumer <HttpRequest .Builder > memberVarInterceptor ;
7476 private final Duration memberVarReadTimeout ;
7577 private final Consumer <HttpResponse <InputStream >> memberVarResponseInterceptor ;
76- private HttpRequest . Builder httpRequestBuilder ;
78+ private TokenManager tokenManager ;
7779
7880 public AssetAdministrationShellServiceApi () {
7981 this (new ApiClient ());
80- this .httpRequestBuilder = HttpRequest .newBuilder ();
8182 }
8283
83- public AssetAdministrationShellServiceApi (HttpRequest . Builder httpRequestBuilder ) {
84- this ();
85- this .httpRequestBuilder = httpRequestBuilder ;
86- }
84+ public AssetAdministrationShellServiceApi (TokenManager tokenManager ) {
85+ this (new ApiClient () );
86+ this .tokenManager = tokenManager ;
87+ }
8788
8889 public AssetAdministrationShellServiceApi (ObjectMapper mapper , String baseUri ) {
8990 this (new ApiClient (HttpClient .newBuilder (), mapper , baseUri ));
90- this .httpRequestBuilder = HttpRequest .newBuilder ();
9191 }
9292
93- public AssetAdministrationShellServiceApi (ObjectMapper mapper , String baseUri , HttpRequest . Builder httpRequestBuilder ) {
94- this (mapper , baseUri );
95- this .httpRequestBuilder = httpRequestBuilder ;
96- }
93+ public AssetAdministrationShellServiceApi (ObjectMapper mapper , String baseUri , TokenManager tokenManager ) {
94+ this (new ApiClient ( HttpClient . newBuilder (), mapper , baseUri ) );
95+ this .tokenManager = tokenManager ;
96+ }
9797
9898 public AssetAdministrationShellServiceApi (String baseUri ) {
9999 this (new ApiClient (HttpClient .newBuilder (), new JsonMapperFactory ().create (new SimpleAbstractTypeResolverFactory ().create ()), baseUri ));
100- this .httpRequestBuilder = HttpRequest .newBuilder ();
101100 }
102101
103- public AssetAdministrationShellServiceApi (String baseUri , HttpRequest . Builder httpRequestBuilder ) {
104- this (baseUri );
105- this .httpRequestBuilder = httpRequestBuilder ;
102+ public AssetAdministrationShellServiceApi (String baseUri , TokenManager tokenManager ) {
103+ this (new ApiClient ( HttpClient . newBuilder (), new JsonMapperFactory (). create ( new SimpleAbstractTypeResolverFactory (). create ()), baseUri ) );
104+ this .tokenManager = tokenManager ;
106105 }
107106
108107
@@ -201,13 +200,15 @@ private HttpRequest.Builder deleteSubmodelReferenceByIdRequestBuilder(String sub
201200 throw new ApiException (400 , "Missing the required parameter 'submodelIdentifier' when calling deleteSubmodelReferenceById" );
202201 }
203202
203+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
204+
204205 String localVarPath = "/submodel-refs/{submodelIdentifier}" .replace ("{submodelIdentifier}" , ApiClient .urlEncode (submodelIdentifier .toString ()));
205-
206- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
207206
208207 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
209208
210209 localVarRequestBuilder .header ("Accept" , "application/json" );
210+
211+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
211212
212213 localVarRequestBuilder .method ("DELETE" , HttpRequest .BodyPublishers .noBody ());
213214 if (memberVarReadTimeout != null ) {
@@ -284,13 +285,15 @@ public ApiResponse<Void> deleteThumbnailWithHttpInfoNoUrlEncoding() throws ApiEx
284285
285286 private HttpRequest .Builder deleteThumbnailRequestBuilder () throws ApiException {
286287
288+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
289+
287290 String localVarPath = "/asset-information/thumbnail" ;
288-
289- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
290291
291292 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
292293
293294 localVarRequestBuilder .header ("Accept" , "application/json" );
295+
296+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
294297
295298 localVarRequestBuilder .method ("DELETE" , HttpRequest .BodyPublishers .noBody ());
296299 if (memberVarReadTimeout != null ) {
@@ -348,9 +351,9 @@ private ApiResponse<Base64UrlEncodedCursorResult<List<Reference>>> getAllSubmode
348351
349352 private HttpRequest .Builder getAllSubmodelReferencesRequestBuilder (Integer limit , String cursor ) throws ApiException {
350353
354+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
355+
351356 String localVarPath = "/submodel-refs" ;
352-
353- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
354357
355358 List <Pair > localVarQueryParams = new ArrayList <>();
356359 StringJoiner localVarQueryStringJoiner = new StringJoiner ("&" );
@@ -369,6 +372,8 @@ private HttpRequest.Builder getAllSubmodelReferencesRequestBuilder(Integer limit
369372 }
370373
371374 localVarRequestBuilder .header ("Accept" , "application/json" );
375+
376+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
372377
373378 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
374379 if (memberVarReadTimeout != null ) {
@@ -440,11 +445,13 @@ public ApiResponse<AssetAdministrationShell> getAssetAdministrationShellWithHttp
440445
441446 private HttpRequest .Builder getAssetAdministrationShellRequestBuilder () throws ApiException {
442447
443- HttpRequest .Builder localVarRequestBuilder = this . httpRequestBuilder . copy ();
444-
448+ HttpRequest .Builder localVarRequestBuilder = HttpRequest . newBuilder ();
449+
445450 localVarRequestBuilder .uri (URI .create (memberVarBaseUri ));
446451
447452 localVarRequestBuilder .header ("Accept" , "application/json" );
453+
454+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
448455
449456 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
450457 if (memberVarReadTimeout != null ) {
@@ -523,6 +530,8 @@ private HttpRequest.Builder getAssetAdministrationShellReferenceRequestBuilder()
523530 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
524531
525532 localVarRequestBuilder .header ("Accept" , "application/json" );
533+
534+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
526535
527536 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
528537 if (memberVarReadTimeout != null ) {
@@ -594,13 +603,15 @@ public ApiResponse<AssetInformation> getAssetInformationWithHttpInfoNoUrlEncodin
594603
595604 private HttpRequest .Builder getAssetInformationRequestBuilder () throws ApiException {
596605
606+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
607+
597608 String localVarPath = "/asset-information" ;
598-
599- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
600609
601610 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
602611
603612 localVarRequestBuilder .header ("Accept" , "application/json" );
613+
614+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
604615
605616 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
606617 if (memberVarReadTimeout != null ) {
@@ -679,6 +690,8 @@ private HttpRequest.Builder getDescriptionRequestBuilder() throws ApiException {
679690 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
680691
681692 localVarRequestBuilder .header ("Accept" , "application/json" );
693+
694+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
682695
683696 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
684697 if (memberVarReadTimeout != null ) {
@@ -748,13 +761,15 @@ public ApiResponse<File> getThumbnailWithHttpInfoNoUrlEncoding() throws ApiExcep
748761
749762 private HttpRequest .Builder getThumbnailRequestBuilder () throws ApiException {
750763
764+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
765+
751766 String localVarPath = "/asset-information/thumbnail" ;
752-
753- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
754767
755768 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
756769
757770 localVarRequestBuilder .header ("Accept" , "application/octet-stream, application/json" );
771+
772+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
758773
759774 localVarRequestBuilder .method ("GET" , HttpRequest .BodyPublishers .noBody ());
760775 if (memberVarReadTimeout != null ) {
@@ -833,14 +848,16 @@ private HttpRequest.Builder postSubmodelReferenceRequestBuilder(Reference refere
833848 throw new ApiException (400 , "Missing the required parameter 'reference' when calling postSubmodelReference" );
834849 }
835850
851+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
852+
836853 String localVarPath = "/submodel-refs" ;
837-
838- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
839854
840855 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
841856
842857 localVarRequestBuilder .header ("Content-Type" , "application/json" );
843858 localVarRequestBuilder .header ("Accept" , "application/json" );
859+
860+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
844861
845862 try {
846863 byte [] localVarPostBody = memberVarObjectMapper .writeValueAsBytes (reference );
@@ -935,6 +952,8 @@ private HttpRequest.Builder putAssetAdministrationShellRequestBuilder(AssetAdmin
935952
936953 localVarRequestBuilder .header ("Content-Type" , "application/json" );
937954 localVarRequestBuilder .header ("Accept" , "application/json" );
955+
956+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
938957
939958 try {
940959 byte [] localVarPostBody = memberVarObjectMapper .writeValueAsBytes (assetAdministrationShell );
@@ -1021,14 +1040,16 @@ private HttpRequest.Builder putAssetInformationRequestBuilder(AssetInformation a
10211040 throw new ApiException (400 , "Missing the required parameter 'assetInformation' when calling putAssetInformation" );
10221041 }
10231042
1043+ HttpRequest .Builder localVarRequestBuilder = HttpRequest .newBuilder ();
1044+
10241045 String localVarPath = "/asset-information" ;
1025-
1026- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
10271046
10281047 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
10291048
10301049 localVarRequestBuilder .header ("Content-Type" , "application/json" );
10311050 localVarRequestBuilder .header ("Accept" , "application/json" );
1051+
1052+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
10321053
10331054 try {
10341055 byte [] localVarPostBody = memberVarObjectMapper .writeValueAsBytes (assetInformation );
@@ -1087,11 +1108,8 @@ private ApiResponse<Void> putThumbnailWithHttpInfoNoUrlEncoding(String fileName,
10871108 }
10881109
10891110 private HttpRequest .Builder putThumbnailRequestBuilder (String fileName , ContentType contentType , InputStream inputStream ) throws ApiException {
1090-
1111+ HttpRequest . Builder localVarRequestBuilder = HttpRequest . newBuilder ();
10911112 String localVarPath = "/asset-information/thumbnail" ;
1092-
1093- HttpRequest .Builder localVarRequestBuilder = this .httpRequestBuilder .copy ();
1094-
10951113 localVarRequestBuilder .uri (URI .create (memberVarBaseUri + localVarPath ));
10961114 localVarRequestBuilder .header ("Accept" , "application/json" );
10971115
@@ -1118,6 +1136,8 @@ private HttpRequest.Builder putThumbnailRequestBuilder(String fileName, ContentT
11181136 HttpRequest .BodyPublisher formDataPublisher = HttpRequest .BodyPublishers .ofInputStream (() -> Channels .newInputStream (pipe .source ()));
11191137
11201138 localVarRequestBuilder .header ("Content-Type" , entity .getContentType ().getValue ()).method ("PUT" , formDataPublisher );
1139+
1140+ addAuthorizationHeaderIfAuthIsEnabled (localVarRequestBuilder );
11211141
11221142 if (memberVarReadTimeout != null ) {
11231143 localVarRequestBuilder .timeout (memberVarReadTimeout );
@@ -1140,5 +1160,16 @@ private static String extractFileName(HttpHeaders headers) {
11401160 private static String buildUniqueFilename () {
11411161 return UUID .randomUUID ().toString ();
11421162 }
1163+
1164+ private void addAuthorizationHeaderIfAuthIsEnabled (HttpRequest .Builder localVarRequestBuilder ) {
1165+ if (tokenManager != null ) {
1166+ try {
1167+ localVarRequestBuilder .header ("Authorization" , "Bearer " + tokenManager .getAccessToken ());
1168+ } catch (IOException e ) {
1169+ e .printStackTrace ();
1170+ throw new AccessTokenRetrievalException ("Unable to request access token" );
1171+ }
1172+ }
1173+ }
11431174
1144- }
1175+ }
0 commit comments