Skip to content

Commit 32ca400

Browse files
reschkeandreeastroe96
authored andcommitted
OAK-11330: Remove usage of Guava ImmutableList (Builder) (apache#1926)
* OAK-11330: Remove usage of Guava ImmutableList (Builder) * OAK-11330: Remove usage of Guava ImmutableList (Builder) - fix typo in method name
1 parent 778d49c commit 32ca400

File tree

6 files changed

+42
-48
lines changed

6 files changed

+42
-48
lines changed

oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalPrincipalConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717
package org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal;
1818

19-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
2019
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
2120
import org.apache.jackrabbit.oak.api.Root;
2221
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
@@ -53,6 +52,7 @@
5352
import org.osgi.service.metatype.annotations.Option;
5453

5554
import java.security.Principal;
55+
import java.util.ArrayList;
5656
import java.util.Collections;
5757
import java.util.List;
5858
import java.util.Map;
@@ -182,7 +182,7 @@ public RepositoryInitializer getRepositoryInitializer() {
182182
public List<? extends ValidatorProvider> getValidators(@NotNull String workspaceName, @NotNull Set<Principal> principals, @NotNull MoveTracker moveTracker) {
183183
boolean isSystem = new SystemPrincipalConfig(getPrincipalNames()).containsSystemPrincipal(principals);
184184

185-
ImmutableList.Builder<ValidatorProvider> vps = new ImmutableList.Builder<>();
185+
List<ValidatorProvider> vps = new ArrayList<>();
186186
vps.add(new ExternalIdentityValidatorProvider(isSystem, protectedExternalIds()));
187187

188188
Set<String> idpNamesWithDynamicGroups = getIdpNamesWithDynamicGroups();
@@ -194,7 +194,7 @@ public List<? extends ValidatorProvider> getValidators(@NotNull String workspace
194194
if (ipt != IdentityProtectionType.NONE && !isSystem) {
195195
vps.add(new ExternalUserValidatorProvider(getRootProvider(), getTreeProvider(), getSecurityProvider(), ipt, getProtectionConfig()));
196196
}
197-
return vps.build();
197+
return Collections.unmodifiableList(vps);
198198
}
199199

200200
@NotNull

oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalUserValidatorProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717
package org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal;
1818

19-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
2019
import org.apache.jackrabbit.guava.common.collect.Iterables;
2120
import org.apache.jackrabbit.oak.api.CommitFailedException;
2221
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -44,6 +43,8 @@
4443
import org.slf4j.Logger;
4544
import org.slf4j.LoggerFactory;
4645

46+
import java.util.ArrayList;
47+
import java.util.Collections;
4748
import java.util.List;
4849

4950
import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
@@ -284,13 +285,13 @@ private static final class AggregatedContext extends Context.Default {
284285
List<Context> ctxs;
285286

286287
private AggregatedContext(@NotNull SecurityProvider securityProvider) {
287-
ImmutableList.Builder<Context> builder = ImmutableList.builder();
288+
List<Context> builder = new ArrayList<>();
288289
for (SecurityConfiguration sc : securityProvider.getConfigurations()) {
289290
if (!UserConfiguration.NAME.equals(sc.getName())) {
290291
builder.add(sc.getContext());
291292
}
292293
}
293-
ctxs = builder.build();
294+
ctxs = Collections.unmodifiableList(builder);
294295
}
295296

296297
@Override

oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManager.java

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import java.security.Principal;
2020
import java.util.ArrayList;
21+
import java.util.Arrays;
2122
import java.util.HashSet;
2223
import java.util.Iterator;
2324
import java.util.List;
@@ -31,7 +32,6 @@
3132
import javax.jcr.security.AccessControlPolicyIterator;
3233
import javax.jcr.security.Privilege;
3334

34-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
3535
import org.apache.jackrabbit.guava.common.collect.Iterators;
3636
import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
3737
import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
@@ -81,24 +81,23 @@ public Privilege[] getSupportedPrivileges(String absPath) throws RepositoryExcep
8181

8282
@Override
8383
public AccessControlPolicy[] getPolicies(String absPath) throws RepositoryException {
84-
ImmutableList.Builder<AccessControlPolicy> policies = ImmutableList.builder();
84+
List<AccessControlPolicy> policies = new ArrayList<>();
8585
for (AccessControlManager acMgr : acMgrs) {
86-
policies.add(acMgr.getPolicies(absPath));
86+
policies.addAll(Arrays.asList(acMgr.getPolicies(absPath)));
8787
}
88-
List<AccessControlPolicy> l = policies.build();
89-
return l.toArray(new AccessControlPolicy[0]);
88+
return policies.toArray(new AccessControlPolicy[0]);
9089
}
9190

9291
@Override
9392
public AccessControlPolicy[] getEffectivePolicies(String absPath) throws RepositoryException {
94-
ImmutableList.Builder<AccessControlPolicy> policies = ImmutableList.builder();
93+
List<AccessControlPolicy> policies = new ArrayList<>();
9594
for (AccessControlManager acMgr : acMgrs) {
96-
policies.add(acMgr.getEffectivePolicies(absPath));
95+
policies.addAll(Arrays.asList(acMgr.getEffectivePolicies(absPath)));
9796
if (aggregationFilter.stop(acMgr, absPath)) {
9897
break;
9998
}
10099
}
101-
return policies.build().stream().distinct().toArray(AccessControlPolicy[]::new);
100+
return policies.stream().distinct().toArray(AccessControlPolicy[]::new);
102101
}
103102

104103
@Override
@@ -138,49 +137,46 @@ public void removePolicy(String absPath, AccessControlPolicy policy) throws Repo
138137
@NotNull
139138
@Override
140139
public JackrabbitAccessControlPolicy[] getApplicablePolicies(@NotNull Principal principal) throws RepositoryException {
141-
ImmutableList.Builder<JackrabbitAccessControlPolicy> policies = ImmutableList.builder();
140+
List<JackrabbitAccessControlPolicy> policies = new ArrayList<>();
142141
for (AccessControlManager acMgr : acMgrs) {
143142
if (acMgr instanceof JackrabbitAccessControlManager && acMgr instanceof PolicyOwner) {
144-
policies.add(((JackrabbitAccessControlManager) acMgr).getApplicablePolicies(principal));
143+
policies.addAll(Arrays.asList(((JackrabbitAccessControlManager) acMgr).getApplicablePolicies(principal)));
145144
}
146145
}
147-
List<JackrabbitAccessControlPolicy> l = policies.build();
148-
return l.toArray(new JackrabbitAccessControlPolicy[0]);
146+
return policies.toArray(new JackrabbitAccessControlPolicy[0]);
149147
}
150148

151149
@NotNull
152150
@Override
153151
public JackrabbitAccessControlPolicy[] getPolicies(@NotNull Principal principal) throws RepositoryException {
154-
ImmutableList.Builder<JackrabbitAccessControlPolicy> policies = ImmutableList.builder();
152+
List<JackrabbitAccessControlPolicy> policies = new ArrayList<>();
155153
for (AccessControlManager acMgr : acMgrs) {
156154
if (acMgr instanceof JackrabbitAccessControlManager) {
157-
policies.add(((JackrabbitAccessControlManager) acMgr).getPolicies(principal));
155+
policies.addAll(Arrays.asList(((JackrabbitAccessControlManager) acMgr).getPolicies(principal)));
158156
}
159157
}
160-
List<JackrabbitAccessControlPolicy> l = policies.build();
161-
return l.toArray(new JackrabbitAccessControlPolicy[0]);
158+
return policies.toArray(new JackrabbitAccessControlPolicy[0]);
162159
}
163160

164161
@NotNull
165162
@Override
166163
public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> principals) throws RepositoryException {
167-
ImmutableList.Builder<AccessControlPolicy> policies = ImmutableList.builder();
164+
List<AccessControlPolicy> policies = new ArrayList<>();
168165
for (AccessControlManager acMgr : acMgrs) {
169166
if (acMgr instanceof JackrabbitAccessControlManager) {
170167
JackrabbitAccessControlManager jAcMgr = (JackrabbitAccessControlManager) acMgr;
171-
policies.add(jAcMgr.getEffectivePolicies(principals));
168+
policies.addAll(Arrays.asList(jAcMgr.getEffectivePolicies(principals)));
172169
if (aggregationFilter.stop(jAcMgr, principals)) {
173170
break;
174171
}
175172
}
176173
}
177-
List<AccessControlPolicy> l = policies.build();
178-
return l.toArray(new AccessControlPolicy[0]);
174+
return policies.toArray(new AccessControlPolicy[0]);
179175
}
180176

181177
@Override
182178
public @NotNull Iterator<AccessControlPolicy> getEffectivePolicies(@NotNull Set<Principal> principals, @Nullable String... absPaths) throws AccessDeniedException, AccessControlException, UnsupportedRepositoryOperationException, RepositoryException {
183-
ImmutableList.Builder<Iterator<AccessControlPolicy>> iterators = ImmutableList.builder();
179+
List<Iterator<AccessControlPolicy>> iterators = new ArrayList<>();
184180
for (AccessControlManager acMgr : acMgrs) {
185181
if (acMgr instanceof JackrabbitAccessControlManager) {
186182
JackrabbitAccessControlManager jAcMgr = (JackrabbitAccessControlManager) acMgr;
@@ -190,6 +186,6 @@ public AccessControlPolicy[] getEffectivePolicies(@NotNull Set<Principal> princi
190186
}
191187
}
192188
}
193-
return Iterators.concat(iterators.build().toArray(new Iterator[0]));
189+
return Iterators.concat(iterators.toArray(new Iterator[0]));
194190
}
195191
}

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.ArrayList;
2525
import java.util.Arrays;
2626
import java.util.Collection;
27+
import java.util.Collections;
2728
import java.util.Deque;
2829
import java.util.HashMap;
2930
import java.util.HashSet;
@@ -38,7 +39,6 @@
3839

3940
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
4041
import org.apache.jackrabbit.guava.common.collect.FluentIterable;
41-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
4242
import org.apache.jackrabbit.guava.common.collect.Iterables;
4343
import org.apache.jackrabbit.guava.common.collect.Iterators;
4444
import org.apache.jackrabbit.oak.api.PropertyValue;
@@ -1688,15 +1688,15 @@ private List<Facet> getFacetsUncached(int numberOfFacets, String columnName) thr
16881688
Facets facets = FacetHelper.getFacets(searcher, query, plan, config);
16891689
if (facets != null) {
16901690
try {
1691-
ImmutableList.Builder<Facet> res = new ImmutableList.Builder<>();
1691+
List<Facet> res = new ArrayList<>();
16921692
FacetResult topChildren = facets.getTopChildren(numberOfFacets, facetFieldName);
16931693
if (topChildren != null) {
16941694
for (LabelAndValue lav : topChildren.labelValues) {
16951695
res.add(new Facet(
16961696
lav.label, lav.value.intValue()
16971697
));
16981698
}
1699-
return res.build();
1699+
return Collections.unmodifiableList(res);
17001700
}
17011701
} catch (IllegalArgumentException iae) {
17021702
LOG.debug(iae.getMessage(), iae);
@@ -1712,7 +1712,7 @@ private List<Facet> getFacetsUncached(int numberOfFacets, String columnName) thr
17121712
private List<Facet> getFacetsUncached(Facets facets, int numberOfFacets, String columnName) throws IOException {
17131713
String facetFieldName = FulltextIndex.parseFacetField(columnName);
17141714
try {
1715-
ImmutableList.Builder<Facet> res = new ImmutableList.Builder<>();
1715+
List<Facet> res = new ArrayList<>();
17161716
FacetResult topChildren = facets.getTopChildren(numberOfFacets, facetFieldName);
17171717
if (topChildren == null) {
17181718
return null;
@@ -1722,7 +1722,7 @@ private List<Facet> getFacetsUncached(Facets facets, int numberOfFacets, String
17221722
lav.label, lav.value.intValue()
17231723
));
17241724
}
1725-
return res.build();
1725+
return Collections.unmodifiableList(res);
17261726
} catch (IllegalArgumentException iae) {
17271727
LOG.debug(iae.getMessage(), iae);
17281728
LOG.warn("facets for {} not yet indexed: {}", facetFieldName, iae);
@@ -1746,15 +1746,15 @@ public List<Facet> getFacets(int numberOfFacets, String columnName) throws IOExc
17461746

17471747
if (facets != null) {
17481748
try {
1749-
ImmutableList.Builder<Facet> res = new ImmutableList.Builder<>();
1749+
List<Facet> res = new ArrayList<>();
17501750
FacetResult topChildren = facets.getTopChildren(numberOfFacets, facetFieldName);
17511751
if (topChildren != null) {
17521752
for (LabelAndValue lav : topChildren.labelValues) {
17531753
res.add(new Facet(
17541754
lav.label, lav.value.intValue()
17551755
));
17561756
}
1757-
return res.build();
1757+
return Collections.unmodifiableList(res);
17581758
}
17591759
} catch (IllegalArgumentException iae) {
17601760
LOG.debug(iae.getMessage(), iae);

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/reader/DefaultIndexReaderFactory.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
2019
package org.apache.jackrabbit.oak.plugins.index.lucene.reader;
2120

2221
import java.io.File;
2322
import java.io.IOException;
23+
import java.util.ArrayList;
2424
import java.util.Collections;
2525
import java.util.List;
2626

27-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
2827
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
2928
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
3029
import org.apache.jackrabbit.oak.plugins.index.lucene.directory.OakDirectory;
@@ -55,15 +54,15 @@ public List<LuceneIndexReader> createReaders(LuceneIndexDefinition definition, N
5554
if (!mountInfoProvider.hasNonDefaultMounts()) {
5655
LuceneIndexReader reader = createReader(definition, defnState, indexPath,
5756
FulltextIndexConstants.INDEX_DATA_CHILD_NAME, SUGGEST_DATA_CHILD_NAME);
58-
return reader != null ? ImmutableList.of(reader) : Collections.<LuceneIndexReader>emptyList();
57+
return reader != null ? List.of(reader) : Collections.emptyList();
5958
} else {
6059
return createMountedReaders(definition, defnState, indexPath);
6160
}
6261
}
6362

6463
private List<LuceneIndexReader> createMountedReaders(LuceneIndexDefinition definition, NodeState defnState, String
6564
indexPath) throws IOException {
66-
ImmutableList.Builder<LuceneIndexReader> readers = ImmutableList.builder();
65+
List<LuceneIndexReader> readers = new ArrayList<>();
6766
LuceneIndexReader reader = createReader(mountInfoProvider.getDefaultMount(), definition, defnState, indexPath);
6867
//Default mount is the first entry. This ensures that suggester, spellcheck can work on that untill they
6968
//support multiple readers
@@ -77,7 +76,7 @@ private List<LuceneIndexReader> createMountedReaders(LuceneIndexDefinition defin
7776
readers.add(reader);
7877
}
7978
}
80-
return readers.build();
79+
return Collections.unmodifiableList(readers);
8180
}
8281

8382
@Nullable

oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/MigrationFactory.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717
package org.apache.jackrabbit.oak.upgrade.cli;
1818

1919
import java.io.IOException;
20-
import java.util.Iterator;
20+
import java.util.Collections;
2121
import java.util.List;
2222
import java.util.ServiceLoader;
2323

2424
import javax.jcr.RepositoryException;
2525

2626
import org.apache.jackrabbit.core.RepositoryContext;
27+
import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
2728
import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
2829
import org.apache.jackrabbit.oak.spi.blob.BlobStore;
2930
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
@@ -35,7 +36,6 @@
3536
import org.apache.jackrabbit.oak.upgrade.cli.parser.MigrationOptions;
3637
import org.apache.jackrabbit.oak.upgrade.cli.parser.StoreArguments;
3738

38-
import org.apache.jackrabbit.guava.common.collect.ImmutableList;
3939
import org.apache.jackrabbit.guava.common.io.Closer;
4040

4141
public class MigrationFactory {
@@ -94,7 +94,7 @@ protected RepositoryUpgrade createUpgrade(RepositoryContext source, NodeStore ds
9494
upgrade.setSkipOnError(!options.isFailOnError());
9595
upgrade.setEarlyShutdown(options.isEarlyShutdown());
9696
upgrade.setSkipInitialization(options.isSkipInitialization());
97-
upgrade.setCustomCommitHooks(loacCommitHooks());
97+
upgrade.setCustomCommitHooks(loadCommitHooks());
9898
return upgrade;
9999
}
100100

@@ -117,15 +117,13 @@ private RepositorySidegrade createSidegrade(NodeStore srcStore, NodeStore dstSto
117117
sidegrade.setSkipCheckpoints(options.isSkipCheckpoints());
118118
sidegrade.setForceCheckpoints(options.isForceCheckpoints());
119119
sidegrade.setMigrateDocumentMetadata(options.isAddSecondaryMetadata());
120-
sidegrade.setCustomCommitHooks(loacCommitHooks());
120+
sidegrade.setCustomCommitHooks(loadCommitHooks());
121121
return sidegrade;
122122
}
123123

124-
private List<CommitHook> loacCommitHooks() {
124+
private List<CommitHook> loadCommitHooks() {
125125
ServiceLoader<CommitHook> loader = ServiceLoader.load(CommitHook.class);
126-
Iterator<CommitHook> iterator = loader.iterator();
127-
ImmutableList.Builder<CommitHook> builder = ImmutableList.<CommitHook> builder().addAll(iterator);
128-
return builder.build();
126+
return Collections.unmodifiableList(CollectionUtils.toList(loader.iterator()));
129127
}
130128

131129
}

0 commit comments

Comments
 (0)