Skip to content

Commit 4fe6d6a

Browse files
author
Rishabh Kumar
committed
OAK-11605 : removed usage of Guava's ImmutableSet.copyOf with LinkedSet
1 parent 7aada40 commit 4fe6d6a

File tree

16 files changed

+46
-31
lines changed

16 files changed

+46
-31
lines changed

oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugAccessControlManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ private Set<String> collectEffectiveCandidates(@NotNull Root r, @NotNull Iterabl
374374
Tree cug = CugUtil.getCug(t);
375375
PropertyState pNames = (cug == null) ? null : cug.getProperty(REP_PRINCIPAL_NAMES);
376376
if (pNames != null) {
377-
if (!Collections.disjoint(ImmutableSet.copyOf(principalNames), ImmutableSet.copyOf(pNames.getValue(Type.STRINGS)))) {
377+
if (!Collections.disjoint(Collections.unmodifiableSet(SetUtils.toLinkedSet(principalNames)), Collections.unmodifiableSet(SetUtils.toLinkedSet(pNames.getValue(Type.STRINGS))))) {
378378
candidates.add(path);
379379
}
380380
nestedCugPaths(cug).forEach(eval::add);

oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugExcludeImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.Set;
2323
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
2424
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
25+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
2526
import org.apache.jackrabbit.oak.spi.security.authorization.cug.CugExclude;
2627
import org.jetbrains.annotations.NotNull;
2728
import org.osgi.service.component.annotations.Activate;
@@ -80,6 +81,6 @@ protected void modified(Map<String, Object> properties) {
8081
}
8182

8283
private void setPrincipalNames(@NotNull Map<String, Object> properties) {
83-
this.principalNames = ImmutableSet.copyOf(PropertiesUtil.toStringArray(properties.get("principalNames"), new String[0]));
84+
this.principalNames = Collections.unmodifiableSet(SetUtils.toLinkedSet(PropertiesUtil.toStringArray(properties.get("principalNames"), new String[0])));
8485
}
8586
}

oak-doc/src/site/markdown/security/user/default.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ implementation.
326326
//------------------------------------------------< SCR Integration >---
327327
@Activate
328328
private void activate(Map<String, Object> properties) {
329-
ids = ImmutableSet.copyOf(PropertiesUtil.toStringArray(properties.get("ids"), new String[0]));
329+
ids = Collections.unmodifiableSet(SetUtils.toLinkedSet(PropertiesUtil.toStringArray(properties.get("ids"), new String[0])));
330330
}
331331
}
332332

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
3737
import org.apache.jackrabbit.oak.commons.PerfLogger;
38+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
3839
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
3940
import org.apache.lucene.store.Directory;
4041
import org.apache.lucene.store.FilterDirectory;
@@ -332,7 +333,7 @@ private void removeDeletedFiles() throws IOException {
332333

333334
Set<String> filesToBeDeleted =
334335
// Files present locally
335-
ImmutableSet.copyOf(local.listAll()).stream()
336+
SetUtils.toLinkedSet(local.listAll()).stream()
336337
// but not in my view
337338
.filter(name -> !remoteFiles.contains(name))
338339
// and also older than a safe timestamp (deleteBeforeTS)

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.io.IOException;
2121
import java.security.SecureRandom;
2222
import java.util.Collection;
23+
import java.util.Collections;
2324
import java.util.List;
2425
import java.util.Set;
2526

@@ -341,7 +342,7 @@ private Set<String> getListing(){
341342
if (fileNames == null){
342343
fileNames = directoryBuilder.getChildNodeNames();
343344
}
344-
Set<String> result = ImmutableSet.copyOf(fileNames);
345+
Set<String> result = Collections.unmodifiableSet(SetUtils.toLinkedSet(fileNames));
345346
PERF_LOGGER.end(start, 100, "Directory listing performed. Total {} files", result.size());
346347
return result;
347348
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package org.apache.jackrabbit.oak.plugins.index.lucene.property;
2121

22+
import java.util.Collections;
2223
import java.util.HashSet;
2324
import java.util.Map;
2425
import java.util.Set;
@@ -31,6 +32,7 @@
3132
import org.apache.jackrabbit.oak.api.Type;
3233
import org.apache.jackrabbit.oak.commons.PathUtils;
3334
import org.apache.jackrabbit.oak.commons.collections.IterableUtils;
35+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
3436
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
3537
import org.apache.jackrabbit.oak.spi.state.NodeState;
3638
import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
@@ -68,7 +70,7 @@ public void validate() throws CommitFailedException {
6870
String propertyRelativePath = e.getKey();
6971
String value = e.getValue();
7072
Iterable<String> indexedPaths = getIndexedPaths(propertyRelativePath, value);
71-
Set<String> allPaths = ImmutableSet.copyOf(indexedPaths);
73+
Set<String> allPaths = Collections.unmodifiableSet(SetUtils.toLinkedSet(indexedPaths));
7274

7375
//If more than one match found then filter out stale paths
7476
if (allPaths.size() > 1) {

oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
3131
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
32+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
3233
import org.jetbrains.annotations.NotNull;
3334
import org.jetbrains.annotations.Nullable;
3435
import org.slf4j.Logger;
@@ -306,13 +307,13 @@ private static Set<?> convertToSet(@NotNull Object configProperty, @NotNull Clas
306307
if (configProperty instanceof Set) {
307308
return (Set) configProperty;
308309
} else if (configProperty instanceof Collection<?>) {
309-
return ImmutableSet.copyOf((Collection<?>) configProperty);
310+
return Collections.unmodifiableSet(SetUtils.toLinkedSet((Collection<?>) configProperty));
310311
} else if (configProperty.getClass().isArray()) {
311-
return ImmutableSet.copyOf((Object[]) configProperty);
312+
return Collections.unmodifiableSet(SetUtils.toLinkedSet((Object[]) configProperty));
312313
} else {
313314
String[] arr = PropertiesUtil.toStringArray(configProperty);
314315
if (arr != null) {
315-
return ImmutableSet.copyOf(arr);
316+
return Collections.unmodifiableSet(SetUtils.toLinkedSet(arr));
316317
} else {
317318
String str = configProperty.toString();
318319
log.warn("Unsupported target type {} for value {}", clazz.getName(), str);

oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthInfoImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
2929
import org.apache.jackrabbit.oak.api.AuthInfo;
30+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
3031
import org.jetbrains.annotations.NotNull;
3132
import org.jetbrains.annotations.Nullable;
3233

@@ -48,7 +49,7 @@ public AuthInfoImpl(@Nullable String userID, @Nullable Map<String, ?> attributes
4849
@Nullable Iterable<? extends Principal> principals) {
4950
this.userID = userID;
5051
this.attributes = (attributes == null) ? Collections.emptyMap() : attributes;
51-
this.principals = (principals == null) ? Collections.emptySet() : ImmutableSet.copyOf(principals);
52+
this.principals = (principals == null) ? Collections.emptySet() : Collections.unmodifiableSet(SetUtils.toLinkedSet(principals));
5253
}
5354

5455
public static AuthInfo createFromSubject(@NotNull Subject subject) {

oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/credentials/SimpleCredentialsSupport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
2727
import org.apache.jackrabbit.guava.common.collect.Maps;
2828

29+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
2930
import org.jetbrains.annotations.NotNull;
3031
import org.jetbrains.annotations.Nullable;
3132

@@ -65,8 +66,7 @@ public String getUserId(@NotNull Credentials credentials) {
6566
public Map<String, ?> getAttributes(@NotNull Credentials credentials) {
6667
if (credentials instanceof SimpleCredentials) {
6768
final SimpleCredentials sc = (SimpleCredentials) credentials;
68-
return Maps.asMap(ImmutableSet.copyOf(sc.getAttributeNames()),
69-
input -> sc.getAttribute(input));
69+
return Maps.asMap(Collections.unmodifiableSet(SetUtils.toLinkedSet(sc.getAttributeNames())), sc::getAttribute);
7070
} else {
7171
return Collections.emptyMap();
7272
}

oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/ACE.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
2020
import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
2121
import org.apache.jackrabbit.api.security.authorization.PrivilegeCollection;
22+
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
2223
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
2324
import org.apache.jackrabbit.oak.plugins.value.jcr.PartialValueFactory;
2425
import org.apache.jackrabbit.oak.spi.security.authorization.restriction.Restriction;
@@ -76,7 +77,7 @@ public ACE(@Nullable Principal principal, @Nullable PrivilegeBits privilegeBits,
7677
this.principal = principal;
7778
this.privilegeBits = privilegeBits;
7879
this.isAllow = isAllow;
79-
this.restrictions = (restrictions == null) ? Collections.emptySet() : ImmutableSet.copyOf(restrictions);
80+
this.restrictions = (restrictions == null) ? Collections.emptySet() : Collections.unmodifiableSet(SetUtils.toLinkedSet(restrictions));
8081
this.namePathMapper = namePathMapper;
8182
this.valueFactory = new PartialValueFactory(namePathMapper);
8283
}

0 commit comments

Comments
 (0)