Skip to content

Commit 818cd00

Browse files
authored
Move more inner classes to top-level classes (#1106)
Co-authored-by: Yufei Gu <yufei.apache.org>
1 parent 10ee64d commit 818cd00

File tree

26 files changed

+431
-301
lines changed

26 files changed

+431
-301
lines changed

polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisGrantManager.java

Lines changed: 2 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,15 @@
1818
*/
1919
package org.apache.polaris.core.auth;
2020

21-
import com.fasterxml.jackson.annotation.JsonCreator;
22-
import com.fasterxml.jackson.annotation.JsonIgnore;
23-
import com.fasterxml.jackson.annotation.JsonProperty;
2421
import jakarta.annotation.Nonnull;
2522
import jakarta.annotation.Nullable;
2623
import java.util.List;
27-
import java.util.Map;
28-
import java.util.stream.Collectors;
2924
import org.apache.polaris.core.PolarisCallContext;
3025
import org.apache.polaris.core.entity.PolarisBaseEntity;
3126
import org.apache.polaris.core.entity.PolarisEntityCore;
32-
import org.apache.polaris.core.entity.PolarisGrantRecord;
3327
import org.apache.polaris.core.entity.PolarisPrivilege;
34-
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
28+
import org.apache.polaris.core.persistence.dao.entity.LoadGrantsResult;
29+
import org.apache.polaris.core.persistence.dao.entity.PrivilegeResult;
3530

3631
/** Manage grants for Polaris entities. */
3732
public interface PolarisGrantManager {
@@ -170,136 +165,4 @@ default LoadGrantsResult loadGrantsToGrantee(
170165
@Nonnull
171166
LoadGrantsResult loadGrantsToGrantee(
172167
PolarisCallContext callCtx, long granteeCatalogId, long granteeId);
173-
174-
/** Result of a grant/revoke privilege call */
175-
class PrivilegeResult extends BaseResult {
176-
177-
// null if not success.
178-
private final PolarisGrantRecord grantRecord;
179-
180-
/**
181-
* Constructor for an error
182-
*
183-
* @param errorCode error code, cannot be SUCCESS
184-
* @param extraInformation extra information
185-
*/
186-
public PrivilegeResult(
187-
@Nonnull BaseResult.ReturnStatus errorCode, @Nullable String extraInformation) {
188-
super(errorCode, extraInformation);
189-
this.grantRecord = null;
190-
}
191-
192-
/**
193-
* Constructor for success
194-
*
195-
* @param grantRecord grant record being granted or revoked
196-
*/
197-
public PrivilegeResult(@Nonnull PolarisGrantRecord grantRecord) {
198-
super(BaseResult.ReturnStatus.SUCCESS);
199-
this.grantRecord = grantRecord;
200-
}
201-
202-
@JsonCreator
203-
private PrivilegeResult(
204-
@JsonProperty("returnStatus") @Nonnull BaseResult.ReturnStatus returnStatus,
205-
@JsonProperty("extraInformation") String extraInformation,
206-
@JsonProperty("grantRecord") PolarisGrantRecord grantRecord) {
207-
super(returnStatus, extraInformation);
208-
this.grantRecord = grantRecord;
209-
}
210-
211-
public PolarisGrantRecord getGrantRecord() {
212-
return grantRecord;
213-
}
214-
}
215-
216-
/** Result of a load grants call */
217-
class LoadGrantsResult extends BaseResult {
218-
// true if success. If false, the caller should retry because of some concurrent change
219-
private final int grantsVersion;
220-
221-
// null if not success. Else set of grants records on a securable or to a grantee
222-
private final List<PolarisGrantRecord> grantRecords;
223-
224-
// null if not success. Else, for each grant record, list of securable or grantee entities
225-
private final List<PolarisBaseEntity> entities;
226-
227-
/**
228-
* Constructor for an error
229-
*
230-
* @param errorCode error code, cannot be SUCCESS
231-
* @param extraInformation extra information
232-
*/
233-
public LoadGrantsResult(
234-
@Nonnull BaseResult.ReturnStatus errorCode, @Nullable String extraInformation) {
235-
super(errorCode, extraInformation);
236-
this.grantsVersion = 0;
237-
this.grantRecords = null;
238-
this.entities = null;
239-
}
240-
241-
/**
242-
* Constructor for success
243-
*
244-
* @param grantsVersion version of the grants
245-
* @param grantRecords set of grant records
246-
*/
247-
public LoadGrantsResult(
248-
int grantsVersion,
249-
@Nonnull List<PolarisGrantRecord> grantRecords,
250-
List<PolarisBaseEntity> entities) {
251-
super(BaseResult.ReturnStatus.SUCCESS);
252-
this.grantsVersion = grantsVersion;
253-
this.grantRecords = grantRecords;
254-
this.entities = entities;
255-
}
256-
257-
@JsonCreator
258-
private LoadGrantsResult(
259-
@JsonProperty("returnStatus") @Nonnull BaseResult.ReturnStatus returnStatus,
260-
@JsonProperty("extraInformation") String extraInformation,
261-
@JsonProperty("grantsVersion") int grantsVersion,
262-
@JsonProperty("grantRecords") List<PolarisGrantRecord> grantRecords,
263-
@JsonProperty("entities") List<PolarisBaseEntity> entities) {
264-
super(returnStatus, extraInformation);
265-
this.grantsVersion = grantsVersion;
266-
this.grantRecords = grantRecords;
267-
// old GS code might not serialize this argument
268-
this.entities = entities;
269-
}
270-
271-
public int getGrantsVersion() {
272-
return grantsVersion;
273-
}
274-
275-
public List<PolarisGrantRecord> getGrantRecords() {
276-
return grantRecords;
277-
}
278-
279-
public List<PolarisBaseEntity> getEntities() {
280-
return entities;
281-
}
282-
283-
@JsonIgnore
284-
public Map<Long, PolarisBaseEntity> getEntitiesAsMap() {
285-
return (this.getEntities() == null)
286-
? null
287-
: this.getEntities().stream()
288-
.collect(Collectors.toMap(PolarisBaseEntity::getId, entity -> entity));
289-
}
290-
291-
@Override
292-
public String toString() {
293-
return "LoadGrantsResult{"
294-
+ "grantsVersion="
295-
+ grantsVersion
296-
+ ", grantRecords="
297-
+ grantRecords
298-
+ ", entities="
299-
+ entities
300-
+ ", returnStatus="
301-
+ getReturnStatus()
302-
+ '}';
303-
}
304-
}
305168
}

polaris-core/src/main/java/org/apache/polaris/core/auth/PolarisSecretsManager.java

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,9 @@
1818
*/
1919
package org.apache.polaris.core.auth;
2020

21-
import com.fasterxml.jackson.annotation.JsonCreator;
22-
import com.fasterxml.jackson.annotation.JsonProperty;
2321
import jakarta.annotation.Nonnull;
24-
import jakarta.annotation.Nullable;
2522
import org.apache.polaris.core.PolarisCallContext;
26-
import org.apache.polaris.core.entity.PolarisPrincipalSecrets;
27-
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
23+
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
2824

2925
/** Manages secrets for Polaris principals. */
3026
public interface PolarisSecretsManager {
@@ -58,46 +54,4 @@ PrincipalSecretsResult rotatePrincipalSecrets(
5854
long principalId,
5955
boolean reset,
6056
@Nonnull String oldSecretHash);
61-
62-
/** the result of load/rotate principal secrets */
63-
class PrincipalSecretsResult extends BaseResult {
64-
65-
// principal client identifier and associated secrets. Null if error
66-
private final PolarisPrincipalSecrets principalSecrets;
67-
68-
/**
69-
* Constructor for an error
70-
*
71-
* @param errorCode error code, cannot be SUCCESS
72-
* @param extraInformation extra information
73-
*/
74-
public PrincipalSecretsResult(
75-
@Nonnull BaseResult.ReturnStatus errorCode, @Nullable String extraInformation) {
76-
super(errorCode, extraInformation);
77-
this.principalSecrets = null;
78-
}
79-
80-
/**
81-
* Constructor for success
82-
*
83-
* @param principalSecrets and associated secret information
84-
*/
85-
public PrincipalSecretsResult(@Nonnull PolarisPrincipalSecrets principalSecrets) {
86-
super(BaseResult.ReturnStatus.SUCCESS);
87-
this.principalSecrets = principalSecrets;
88-
}
89-
90-
@JsonCreator
91-
private PrincipalSecretsResult(
92-
@JsonProperty("returnStatus") @Nonnull BaseResult.ReturnStatus returnStatus,
93-
@JsonProperty("extraInformation") @Nullable String extraInformation,
94-
@JsonProperty("principalSecrets") @Nonnull PolarisPrincipalSecrets principalSecrets) {
95-
super(returnStatus, extraInformation);
96-
this.principalSecrets = principalSecrets;
97-
}
98-
99-
public PolarisPrincipalSecrets getPrincipalSecrets() {
100-
return principalSecrets;
101-
}
102-
}
10357
}

polaris-core/src/main/java/org/apache/polaris/core/persistence/AtomicOperationMetaStoreManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@
5555
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
5656
import org.apache.polaris.core.persistence.dao.entity.EntityWithPath;
5757
import org.apache.polaris.core.persistence.dao.entity.ListEntitiesResult;
58+
import org.apache.polaris.core.persistence.dao.entity.LoadGrantsResult;
59+
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
60+
import org.apache.polaris.core.persistence.dao.entity.PrivilegeResult;
5861
import org.apache.polaris.core.persistence.dao.entity.ResolvedEntityResult;
62+
import org.apache.polaris.core.persistence.dao.entity.ScopedCredentialsResult;
63+
import org.apache.polaris.core.persistence.dao.entity.ValidateAccessResult;
5964
import org.apache.polaris.core.storage.PolarisCredentialProperty;
6065
import org.apache.polaris.core.storage.PolarisStorageActions;
6166
import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo;

polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.apache.polaris.core.PolarisCallContext;
2727
import org.apache.polaris.core.PolarisDefaultDiagServiceImpl;
2828
import org.apache.polaris.core.PolarisDiagnostics;
29-
import org.apache.polaris.core.auth.PolarisSecretsManager.PrincipalSecretsResult;
3029
import org.apache.polaris.core.context.CallContext;
3130
import org.apache.polaris.core.context.RealmContext;
3231
import org.apache.polaris.core.entity.PolarisEntity;
@@ -38,6 +37,7 @@
3837
import org.apache.polaris.core.persistence.cache.EntityCache;
3938
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
4039
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
40+
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
4141
import org.apache.polaris.core.persistence.transactional.PolarisMetaStoreManagerImpl;
4242
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
4343
import org.apache.polaris.core.storage.cache.StorageCredentialCache;

polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
import java.util.Map;
2222
import java.util.function.Supplier;
23-
import org.apache.polaris.core.auth.PolarisSecretsManager.PrincipalSecretsResult;
2423
import org.apache.polaris.core.context.RealmContext;
2524
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
2625
import org.apache.polaris.core.persistence.cache.EntityCache;
2726
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
27+
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
2828
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
2929
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
3030

polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,12 @@
4343
import org.apache.polaris.core.persistence.dao.entity.EntityWithPath;
4444
import org.apache.polaris.core.persistence.dao.entity.GenerateEntityIdResult;
4545
import org.apache.polaris.core.persistence.dao.entity.ListEntitiesResult;
46+
import org.apache.polaris.core.persistence.dao.entity.LoadGrantsResult;
47+
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
48+
import org.apache.polaris.core.persistence.dao.entity.PrivilegeResult;
4649
import org.apache.polaris.core.persistence.dao.entity.ResolvedEntityResult;
50+
import org.apache.polaris.core.persistence.dao.entity.ScopedCredentialsResult;
51+
import org.apache.polaris.core.persistence.dao.entity.ValidateAccessResult;
4752
import org.apache.polaris.core.storage.PolarisStorageActions;
4853

4954
/**
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.polaris.core.persistence.dao.entity;
20+
21+
import com.fasterxml.jackson.annotation.JsonCreator;
22+
import com.fasterxml.jackson.annotation.JsonIgnore;
23+
import com.fasterxml.jackson.annotation.JsonProperty;
24+
import jakarta.annotation.Nonnull;
25+
import jakarta.annotation.Nullable;
26+
import java.util.List;
27+
import java.util.Map;
28+
import java.util.stream.Collectors;
29+
import org.apache.polaris.core.entity.PolarisBaseEntity;
30+
import org.apache.polaris.core.entity.PolarisGrantRecord;
31+
32+
/** Result of a load grants call */
33+
public class LoadGrantsResult extends BaseResult {
34+
// true if success. If false, the caller should retry because of some concurrent change
35+
private final int grantsVersion;
36+
37+
// null if not success. Else set of grants records on a securable or to a grantee
38+
private final List<PolarisGrantRecord> grantRecords;
39+
40+
// null if not success. Else, for each grant record, list of securable or grantee entities
41+
private final List<PolarisBaseEntity> entities;
42+
43+
/**
44+
* Constructor for an error
45+
*
46+
* @param errorCode error code, cannot be SUCCESS
47+
* @param extraInformation extra information
48+
*/
49+
public LoadGrantsResult(@Nonnull ReturnStatus errorCode, @Nullable String extraInformation) {
50+
super(errorCode, extraInformation);
51+
this.grantsVersion = 0;
52+
this.grantRecords = null;
53+
this.entities = null;
54+
}
55+
56+
/**
57+
* Constructor for success
58+
*
59+
* @param grantsVersion version of the grants
60+
* @param grantRecords set of grant records
61+
*/
62+
public LoadGrantsResult(
63+
int grantsVersion,
64+
@Nonnull List<PolarisGrantRecord> grantRecords,
65+
List<PolarisBaseEntity> entities) {
66+
super(ReturnStatus.SUCCESS);
67+
this.grantsVersion = grantsVersion;
68+
this.grantRecords = grantRecords;
69+
this.entities = entities;
70+
}
71+
72+
@JsonCreator
73+
private LoadGrantsResult(
74+
@JsonProperty("returnStatus") @Nonnull ReturnStatus returnStatus,
75+
@JsonProperty("extraInformation") String extraInformation,
76+
@JsonProperty("grantsVersion") int grantsVersion,
77+
@JsonProperty("grantRecords") List<PolarisGrantRecord> grantRecords,
78+
@JsonProperty("entities") List<PolarisBaseEntity> entities) {
79+
super(returnStatus, extraInformation);
80+
this.grantsVersion = grantsVersion;
81+
this.grantRecords = grantRecords;
82+
// old GS code might not serialize this argument
83+
this.entities = entities;
84+
}
85+
86+
public int getGrantsVersion() {
87+
return grantsVersion;
88+
}
89+
90+
public List<PolarisGrantRecord> getGrantRecords() {
91+
return grantRecords;
92+
}
93+
94+
public List<PolarisBaseEntity> getEntities() {
95+
return entities;
96+
}
97+
98+
@JsonIgnore
99+
public Map<Long, PolarisBaseEntity> getEntitiesAsMap() {
100+
return (this.getEntities() == null)
101+
? null
102+
: this.getEntities().stream()
103+
.collect(Collectors.toMap(PolarisBaseEntity::getId, entity -> entity));
104+
}
105+
106+
@Override
107+
public String toString() {
108+
return "LoadGrantsResult{"
109+
+ "grantsVersion="
110+
+ grantsVersion
111+
+ ", grantRecords="
112+
+ grantRecords
113+
+ ", entities="
114+
+ entities
115+
+ ", returnStatus="
116+
+ getReturnStatus()
117+
+ '}';
118+
}
119+
}

0 commit comments

Comments
 (0)