@@ -43,13 +43,12 @@ public DeltaSharesApiImpl(
4343 @ Override
4444 public Response getShare (String share ) {
4545 return wrapExceptions (
46- () ->
47- optionalToNotFound (shareService .getShare (share ),
48- foundShare ->
49- shareToForbidden (foundShare , s -> {
50- var resultShare = new Share ().name (s .name ()).id (s .id ());
51- return Response .ok (resultShare ).build ();
52- })),
46+ () -> optionalToNotFound (
47+ shareService .getShare (share ),
48+ foundShare -> shareToForbidden (foundShare , s -> {
49+ var resultShare = new Share ().name (s .name ()).id (s .id ());
50+ return Response .ok (resultShare ).build ();
51+ })),
5352 exceptionToResponse );
5453 }
5554
@@ -74,58 +73,67 @@ public Response getTableMetadata(
7473 String startingTimestampStr ,
7574 String deltaSharingCapabilities ) {
7675 return wrapExceptions (
77- () ->
78- optionalToNotFound (shareService .getShare (share ), foundShare -> shareToForbidden (foundShare , s -> {
79- var startingTimestamp = parseTimestamp (startingTimestampStr );
80- return optionalToNotFound (
81- deltaSharesService .getTableMetadata (share , schema , table , startingTimestamp ),
82- m -> optionalToNotFound (
83- deltaSharesService .getTableVersion (share , schema , table , startingTimestamp ),
84- v -> Response .ok (
85- tableResponseSerializer .serialize (
86- DeltaMappers .toTableResponseMetadata (m )),
87- ndjsonMediaType )
88- .status (Response .Status .OK .getStatusCode ())
89- .header (DELTA_TABLE_VERSION_HEADER , String .valueOf (v ))
90- .header (
91- DELTA_SHARE_CAPABILITIES_HEADER ,
92- getResponseFormatHeader (
93- DeltaMappers .toHeaderCapabilitiesMap (deltaSharingCapabilities )))
94- .build ()));
95- })),
76+ () -> optionalToNotFound (
77+ shareService .getShare (share ),
78+ foundShare -> shareToForbidden (foundShare , s -> {
79+ var startingTimestamp = parseTimestamp (startingTimestampStr );
80+ return optionalToNotFound (
81+ deltaSharesService .getTableMetadata (
82+ share , schema , table , startingTimestamp , getRequestPrincipal ()),
83+ m -> optionalToNotFound (
84+ deltaSharesService .getTableVersion (
85+ share , schema , table , startingTimestamp , getRequestPrincipal ()),
86+ v -> Response .ok (
87+ tableResponseSerializer .serialize (
88+ DeltaMappers .toTableResponseMetadata (m )),
89+ ndjsonMediaType )
90+ .status (Response .Status .OK .getStatusCode ())
91+ .header (DELTA_TABLE_VERSION_HEADER , String .valueOf (v ))
92+ .header (
93+ DELTA_SHARE_CAPABILITIES_HEADER ,
94+ getResponseFormatHeader (
95+ DeltaMappers .toHeaderCapabilitiesMap (deltaSharingCapabilities )))
96+ .build ()));
97+ })),
9698 exceptionToResponse );
9799 }
98100
99101 @ Override
100102 public Response getTableVersion (
101103 String share , String schema , String table , String startingTimestampStr ) {
102-
103104 return wrapExceptions (
104- () ->
105- optionalToNotFound (shareService .getShare (share ), foundShare -> shareToForbidden (foundShare , s -> {
105+ () -> {
106106 var startingTimestamp = parseTimestamp (startingTimestampStr );
107107 return optionalToNotFound (
108- deltaSharesService .getTableVersion (share , schema , table , startingTimestamp ),
108+ deltaSharesService .getTableVersion (
109+ share , schema , table , startingTimestamp , getRequestPrincipal ()),
109110 t -> Response .ok ().header (DELTA_TABLE_VERSION_HEADER , t ).build ());
110- })) ,
111+ },
111112 exceptionToResponse );
112113 }
113114
114115 @ Override
115116 public Response listALLTables (String share , Integer maxResults , String pageToken ) {
116117 return wrapExceptions (
117- () ->
118- optionalToNotFound (shareService .getShare (share ), foundShare -> shareToForbidden (foundShare , s ->
119- optionalToNotFound (
120- deltaSharesService .listTablesOfShare (
121- share , parseToken (pageToken ), Optional .ofNullable (maxResults )),
122- c -> Response .ok (c .getToken ()
123- .map (t -> new ListTablesResponse ()
124- .items (mapList (c .getContent (), DeltaMappers ::table2api ))
125- .nextPageToken (tokenEncoder .encodePageToken (t )))
126- .orElse (new ListTablesResponse ()
127- .items (mapList (c .getContent (), DeltaMappers ::table2api ))))
128- .build ()))),
118+ () -> optionalToNotFound (
119+ shareService .getShare (share ),
120+ foundShare -> shareToForbidden (
121+ foundShare ,
122+ s -> optionalToNotFound (
123+ deltaSharesService .listTablesOfShare (
124+ share ,
125+ parseToken (pageToken ),
126+ Optional .ofNullable (maxResults ),
127+ getRequestPrincipal ()),
128+ c -> Response .ok (c .getToken ()
129+ .map (
130+ t -> new ListTablesResponse ()
131+ .items (mapList (c .getContent (), DeltaMappers ::table2api ))
132+ .nextPageToken (tokenEncoder .encodePageToken (t )))
133+ .orElse (
134+ new ListTablesResponse ()
135+ .items (mapList (c .getContent (), DeltaMappers ::table2api ))))
136+ .build ()))),
129137 exceptionToResponse );
130138 }
131139
@@ -134,7 +142,11 @@ public Response listSchemas(String share, Integer maxResults, String pageToken)
134142 return wrapExceptions (
135143 () -> optionalToNotFound (
136144 deltaSharesService
137- .listSchemas (share , parseToken (pageToken ), Optional .ofNullable (maxResults ))
145+ .listSchemas (
146+ share ,
147+ parseToken (pageToken ),
148+ Optional .ofNullable (maxResults ),
149+ getRequestPrincipal ())
138150 .map (ct -> ct .getToken ()
139151 .map (t -> new ListSchemasResponse ()
140152 .nextPageToken (tokenEncoder .encodePageToken (t ))
@@ -149,8 +161,8 @@ public Response listSchemas(String share, Integer maxResults, String pageToken)
149161 public Response listShares (Integer maxResults , String pageToken ) {
150162 return wrapExceptions (
151163 () -> {
152- var c =
153- deltaSharesService . listShares ( parseToken (pageToken ), Optional .ofNullable (maxResults ));
164+ var c = deltaSharesService . listShares (
165+ parseToken (pageToken ), Optional .ofNullable (maxResults ), getRequestPrincipal ( ));
154166 var response =
155167 new ListShareResponse ().items (mapList (c .getContent (), DeltaMappers ::share2api ));
156168 return Response .ok (c .getToken ()
@@ -166,7 +178,11 @@ public Response listTables(String share, String schema, Integer maxResults, Stri
166178 return wrapExceptions (
167179 () -> optionalToNotFound (
168180 deltaSharesService .listTables (
169- share , schema , parseToken (pageToken ), Optional .ofNullable (maxResults )),
181+ share ,
182+ schema ,
183+ parseToken (pageToken ),
184+ Optional .ofNullable (maxResults ),
185+ getRequestPrincipal ()),
170186 c -> Response .ok (c .getToken ()
171187 .map (t -> new ListTablesResponse ()
172188 .items (mapList (c .getContent (), DeltaMappers ::table2api ))
@@ -195,7 +211,11 @@ public Response queryTable(
195211 return wrapExceptions (
196212 () -> {
197213 var readResult = deltaSharesService .queryTable (
198- share , schema , table , DeltaMappers .api2ReadTableRequest (queryRequest ));
214+ share ,
215+ schema ,
216+ table ,
217+ DeltaMappers .api2ReadTableRequest (queryRequest ),
218+ getRequestPrincipal ());
199219 var serializedReadResult =
200220 tableQueryResponseSerializer .serialize (DeltaMappers .readTableResult2api (readResult ));
201221 return Response .ok (serializedReadResult , ndjsonMediaType )
0 commit comments