Skip to content

Commit 441228d

Browse files
authored
Merge pull request #449 from wttech/remove-guava
removed guava dependency
2 parents 59359d1 + 66d8b51 commit 441228d

26 files changed

+118
-110
lines changed

app/aem/core/src/main/java/com/cognifide/apm/checks/actions/permissions/CheckPermissions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727
import com.cognifide.apm.checks.utils.ActionUtils;
2828
import com.cognifide.apm.checks.utils.MessagingUtils;
2929
import com.day.cq.security.util.CqActions;
30-
import com.google.common.collect.Lists;
3130
import java.security.Principal;
3231
import java.util.ArrayList;
3332
import java.util.Collection;
3433
import java.util.HashSet;
3534
import java.util.List;
3635
import java.util.Set;
3736
import java.util.regex.Pattern;
37+
import java.util.stream.Collectors;
3838
import javax.jcr.Node;
3939
import javax.jcr.NodeIterator;
4040
import javax.jcr.RepositoryException;
@@ -172,6 +172,6 @@ private static Set<Principal> getAuthorizablesToCheck(Authorizable authorizable,
172172
}
173173

174174
private List<String> preparePrivilegesToCheck() {
175-
return Lists.transform(permissions, String::toLowerCase);
175+
return permissions.stream().map(String::toLowerCase).collect(Collectors.toList());
176176
}
177177
}

app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionMapperRegistryImpl.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
import com.cognifide.apm.core.Property;
2626
import com.cognifide.apm.core.actions.scanner.AnnotatedClassRegistry;
2727
import com.cognifide.apm.core.actions.scanner.RegistryChangedListener;
28-
import com.google.common.collect.ImmutableMap;
29-
import com.google.common.collect.Maps;
3028
import java.util.ArrayList;
3129
import java.util.Collection;
3230
import java.util.Collections;
31+
import java.util.HashMap;
3332
import java.util.List;
3433
import java.util.Map;
3534
import java.util.Optional;
@@ -38,7 +37,6 @@
3837
import org.osgi.service.component.annotations.Activate;
3938
import org.osgi.service.component.annotations.Component;
4039
import org.osgi.service.component.annotations.Deactivate;
41-
import org.osgi.service.component.annotations.Reference;
4240
import org.scribe.utils.Preconditions;
4341
import org.slf4j.Logger;
4442
import org.slf4j.LoggerFactory;
@@ -77,7 +75,7 @@ public void deactivate() {
7775

7876
@Override
7977
public void registryChanged(List<Class<?>> registeredClasses) {
80-
this.mappers.set(ImmutableMap.copyOf(createActionMappers(registeredClasses)));
78+
this.mappers.set(Collections.unmodifiableMap(createActionMappers(registeredClasses)));
8179
}
8280

8381
@Override
@@ -93,7 +91,7 @@ public Collection<MapperDescriptor> getMappers() {
9391

9492
private static Map<String, MapperDescriptor> createActionMappers(List<Class<?>> classes) {
9593
MapperDescriptorFactory mapperDescriptorFactory = new MapperDescriptorFactory();
96-
Map<String, MapperDescriptor> mappers = Maps.newHashMapWithExpectedSize(classes.size());
94+
Map<String, MapperDescriptor> mappers = new HashMap<>(classes.size());
9795
for (Class<?> clazz : classes) {
9896
try {
9997
MapperDescriptor mapperDescriptor = mapperDescriptorFactory.create(clazz);

app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionResultImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.cognifide.apm.api.actions.ActionResult;
2323
import com.cognifide.apm.api.actions.Message;
2424
import com.cognifide.apm.api.status.Status;
25-
import com.google.common.collect.Lists;
2625
import java.util.ArrayList;
26+
import java.util.Arrays;
2727
import java.util.LinkedList;
2828
import java.util.List;
2929
import org.apache.commons.lang3.StringUtils;
@@ -53,12 +53,12 @@ public void setAuthorizable(String authorizable) {
5353

5454
@Override
5555
public ActionResult merge(ActionResult... actionResults) {
56-
return merge(Lists.newArrayList(actionResults));
56+
return merge(Arrays.asList(actionResults));
5757
}
5858

5959
@Override
6060
public ActionResult merge(List<ActionResult> actionResults) {
61-
List<ActionResult> all = Lists.newArrayList();
61+
List<ActionResult> all = new ArrayList<>();
6262
all.add(this);
6363
all.addAll(actionResults);
6464
ActionResultImpl result = new ActionResultImpl();

app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@
3737
import com.cognifide.apm.core.grammar.ApmType.ApmList;
3838
import com.cognifide.apm.core.grammar.ApmType.ApmMap;
3939
import com.cognifide.apm.core.grammar.ApmType.ApmString;
40-
import com.google.common.collect.ImmutableList;
41-
import com.google.common.collect.Lists;
4240
import java.lang.annotation.Annotation;
4341
import java.lang.reflect.Method;
4442
import java.lang.reflect.ParameterizedType;
4543
import java.lang.reflect.Type;
44+
import java.util.ArrayList;
45+
import java.util.Collections;
4646
import java.util.List;
4747
import java.util.Map;
4848
import java.util.Optional;
@@ -58,11 +58,11 @@ public MapperDescriptor create(Class<?> mapperClass) {
5858
Object mapper = createInstance(mapperClass);
5959
String name = mapperAnnotation.value();
6060
String group = mapperAnnotation.group();
61-
List<MappingDescriptor> mappingDescriptors = Lists.newArrayList();
61+
List<MappingDescriptor> mappingDescriptors = new ArrayList<>();
6262
for (Method method : mapperClass.getDeclaredMethods()) {
6363
create(mapperAnnotation, method).ifPresent(mappingDescriptors::add);
6464
}
65-
return new MapperDescriptor(mapper, name, group, ImmutableList.copyOf(mappingDescriptors));
65+
return new MapperDescriptor(mapper, name, group, Collections.unmodifiableList(mappingDescriptors));
6666
}
6767

6868
@SuppressWarnings("deprecation")
@@ -85,7 +85,7 @@ private Optional<MappingDescriptor> create(Mapper mapper, Method method) {
8585
throw new InvalidActionMapperException("Mapping method must have return type " + Action.class.getName());
8686
}
8787

88-
List<ParameterDescriptor> parameterDescriptors = Lists.newArrayList();
88+
List<ParameterDescriptor> parameterDescriptors = new ArrayList<>();
8989
Type[] types = method.getGenericParameterTypes();
9090
Annotation[][] annotations = method.getParameterAnnotations();
9191
int requiredIndex = 0;
@@ -111,7 +111,7 @@ private Optional<MappingDescriptor> create(Mapper mapper, Method method) {
111111
parameterDescriptors.add(parameterDescriptor);
112112
}
113113

114-
return Optional.of(new MappingDescriptor(method, mapper, mapping, ImmutableList.copyOf(parameterDescriptors)));
114+
return Optional.of(new MappingDescriptor(method, mapper, mapping, Collections.unmodifiableList(parameterDescriptors)));
115115
}
116116

117117
private <T extends Annotation> T getAnnotation(Annotation[] annotations, Class<T> type) {

app/aem/core/src/main/java/com/cognifide/apm/core/actions/MappingDescriptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
import com.cognifide.apm.core.actions.ParameterDescriptor.NamedParameterDescriptor;
2727
import com.cognifide.apm.core.actions.ParameterDescriptor.RequiredParameterDescriptor;
2828
import com.cognifide.apm.core.grammar.argument.Arguments;
29-
import com.google.common.collect.ImmutableList;
3029
import java.lang.reflect.InvocationTargetException;
3130
import java.lang.reflect.Method;
31+
import java.util.Arrays;
3232
import java.util.List;
3333
import java.util.Set;
3434
import java.util.stream.Collectors;
@@ -51,7 +51,7 @@ public MappingDescriptor(Method method, Mapper mapper, Mapping mapping, List<Par
5151
this.name = mapper.value();
5252
this.group = mapper.group();
5353
this.description = mapping.reference();
54-
this.examples = ImmutableList.copyOf(mapping.examples());
54+
this.examples = Arrays.asList(mapping.examples());
5555
this.method = method;
5656
this.parameterDescriptors = parameterDescriptors;
5757
}

app/aem/core/src/main/java/com/cognifide/apm/core/actions/scanner/AnnotatedClassRegistry.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
*/
2020
package com.cognifide.apm.core.actions.scanner;
2121

22-
import com.google.common.collect.ImmutableList;
2322
import java.lang.annotation.Annotation;
2423
import java.util.ArrayList;
24+
import java.util.Collections;
2525
import java.util.HashSet;
2626
import java.util.List;
2727
import java.util.Map;
@@ -96,7 +96,7 @@ public List<Class<?>> getClasses() {
9696
flattened.addAll(entry.getValue());
9797
}
9898

99-
return ImmutableList.copyOf(flattened);
99+
return Collections.unmodifiableList(flattened);
100100
}
101101

102102
private void registerClasses(Bundle bundle) {

app/aem/core/src/main/java/com/cognifide/apm/core/endpoints/utils/RequestProcessor.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import com.cognifide.apm.core.endpoints.params.RequestParameter;
2323
import com.cognifide.apm.core.endpoints.response.ResponseEntity;
2424
import com.cognifide.apm.core.utils.ServletUtils;
25-
import com.google.common.collect.ImmutableMap;
2625
import java.io.IOException;
26+
import java.util.Collections;
27+
import java.util.HashMap;
2728
import java.util.List;
29+
import java.util.Map;
2830
import java.util.Objects;
2931
import java.util.function.BiFunction;
3032
import java.util.stream.Collectors;
@@ -52,13 +54,13 @@ public static <T> void process(ModelFactory modelFactory, Class<T> formClass, Sl
5254
ServletUtils.writeJson(httpResponse, response.getBody());
5355
} catch (MissingElementsException e) {
5456
httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
55-
ServletUtils.writeJson(httpResponse, ImmutableMap.of(
56-
"message", "Bad request",
57-
"errors", toErrors(e)
58-
));
57+
Map<String, Object> params = new HashMap<>();
58+
params.put("message", "Bad request");
59+
params.put("errors", toErrors(e));
60+
ServletUtils.writeJson(httpResponse, params);
5961
} catch (Exception e) {
6062
httpResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
61-
ServletUtils.writeJson(httpResponse, ImmutableMap.of(
63+
ServletUtils.writeJson(httpResponse, Collections.singletonMap(
6264
"message", StringUtils.defaultString(e.getMessage())
6365
));
6466
}

app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ReferenceFinder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
import com.cognifide.apm.core.grammar.executioncontext.ExecutionContext;
3232
import com.cognifide.apm.core.grammar.parsedscript.ParsedScript;
3333
import com.cognifide.apm.core.progress.ProgressImpl;
34-
import com.google.common.collect.ImmutableList;
3534
import java.util.ArrayList;
35+
import java.util.Collections;
3636
import java.util.Comparator;
3737
import java.util.Date;
3838
import java.util.HashSet;
@@ -86,7 +86,7 @@ private void fillReferenceGraph(ReferenceGraph refGraph, Script script) {
8686
if (refGraph.getNode(script) == null) {
8787
ApmLangParser.ApmContext apmContext = ParsedScript.create(script).getApm();
8888
ExecutionContext executionContext = ExecutionContext.create(scriptFinder, resourceResolver, dataSourceInvoker, script, new ProgressImpl(resourceResolver.getUserID()));
89-
findReferences(refGraph, refGraph.addNode(script), ImmutableList.of(script.getPath()), executionContext, apmContext);
89+
findReferences(refGraph, refGraph.addNode(script), Collections.singletonList(script.getPath()), executionContext, apmContext);
9090
}
9191
}
9292

app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ScriptRunner.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import com.cognifide.apm.core.grammar.utils.RequiredVariablesChecker;
4848
import com.cognifide.apm.core.logger.Position;
4949
import com.cognifide.apm.core.logger.Progress;
50-
import com.google.common.collect.ImmutableList;
5150
import java.util.ArrayList;
5251
import java.util.Collections;
5352
import java.util.List;
@@ -285,7 +284,7 @@ private List<ApmPair> readValues(ForEachContext ctx) {
285284
} else if (variableValue instanceof ApmList) {
286285
values = variableValue.getList();
287286
} else {
288-
values = ImmutableList.of(variableValue);
287+
values = Collections.singletonList(variableValue);
289288
}
290289
return values.stream()
291290
.map(value -> new ApmPair(key, value))
@@ -297,7 +296,7 @@ private void progress(ParserRuleContext ctx, Status status, String command, Stri
297296
}
298297

299298
private void progress(ParserRuleContext ctx, Status status, String command, String detail, Arguments arguments) {
300-
progress(ctx, status, command, ImmutableList.of(detail), arguments);
299+
progress(ctx, status, command, Collections.singletonList(detail), arguments);
301300
}
302301

303302
private void progress(ParserRuleContext ctx, Status status, String command, List<String> details) {

app/aem/core/src/main/java/com/cognifide/apm/core/grammar/datasource/LevelsDataSource.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import com.cognifide.apm.core.grammar.ApmType.ApmMap;
2626
import com.cognifide.apm.core.grammar.ApmType.ApmString;
2727
import com.day.cq.wcm.api.NameConstants;
28-
import com.google.common.collect.ImmutableMap;
2928
import java.util.ArrayList;
3029
import java.util.Collections;
3130
import java.util.HashMap;
@@ -70,10 +69,9 @@ private ApmType traverseTree(Resource root, int depth, List<Config> configs) {
7069
List<ApmType> list = new ArrayList<>();
7170
for (Resource resource : root.getChildren()) {
7271
if (config.isValid(resource)) {
73-
Map<String, ApmType> map = new HashMap<>(ImmutableMap.of(
74-
"path", new ApmString(resource.getPath()),
75-
"name", new ApmString(resource.getName())
76-
));
72+
Map<String, ApmType> map = new HashMap<>();
73+
map.put("path", new ApmString(resource.getPath()));
74+
map.put("name", new ApmString(resource.getName()));
7775
map.putAll(config.determineParams(resource));
7876
ApmType items = traverseTree(resource, depth + 1, configs);
7977
if (items instanceof ApmList) {

app/aem/core/src/main/java/com/cognifide/apm/core/grammar/parsedscript/InvalidSyntaxMessageFactory.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020

2121
package com.cognifide.apm.core.grammar.parsedscript;
2222

23-
import com.google.common.collect.ImmutableList;
23+
import java.util.Arrays;
24+
import java.util.Collections;
2425
import java.util.List;
2526
import java.util.Optional;
2627
import org.antlr.v4.runtime.CharStream;
@@ -45,9 +46,9 @@ private static List<String> underlineError(Recognizer<?, ?> recognizer, Token of
4546
String errorLine = getErrorLine(recognizer, line);
4647
String invalidLine = String.format("Invalid line [%d:%d]: %s", line, charPositionInLine, errorLine);
4748
if (offendingToken != null && StringUtils.isNotBlank(offendingToken.getText())) {
48-
return ImmutableList.of(invalidLine, String.format("Invalid sequence: %s", offendingToken.getText()));
49+
return Arrays.asList(invalidLine, String.format("Invalid sequence: %s", offendingToken.getText()));
4950
} else {
50-
return ImmutableList.of(invalidLine);
51+
return Collections.singletonList(invalidLine);
5152
}
5253
}
5354

app/aem/core/src/main/java/com/cognifide/apm/core/grammar/utils/ImportScript.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import com.cognifide.apm.core.grammar.executioncontext.ExecutionContext;
3232
import com.cognifide.apm.core.grammar.executioncontext.VariableHolder;
3333
import com.cognifide.apm.core.grammar.parsedscript.ParsedScript;
34-
import com.google.common.collect.ImmutableList;
34+
import java.util.Collections;
3535
import java.util.HashSet;
3636
import java.util.List;
3737
import java.util.Set;
@@ -127,7 +127,7 @@ public VariableHolder getVariableHolder() {
127127
}
128128

129129
public List<String> toMessages() {
130-
List<String> resultMessagesPrefix = ImmutableList.of(String.format("Import from script %s. Notice, only DEFINE actions were processed!", path));
130+
List<String> resultMessagesPrefix = Collections.singletonList(String.format("Import from script %s. Notice, only DEFINE actions were processed!", path));
131131
List<String> importedVariables = variableHolder.toMap()
132132
.entrySet()
133133
.stream()

app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121

2222
import com.cognifide.apm.api.services.ExecutionResult;
2323
import com.cognifide.apm.core.Property;
24-
import com.google.common.cache.Cache;
25-
import com.google.common.cache.CacheBuilder;
2624
import java.io.Serializable;
27-
import java.util.concurrent.TimeUnit;
25+
import java.util.HashMap;
26+
import java.util.Map;
2827
import org.osgi.service.component.annotations.Activate;
2928
import org.osgi.service.component.annotations.Component;
3029

@@ -37,33 +36,46 @@
3736
)
3837
public class JobResultsCache {
3938

40-
private static final long DEFAULT_EXPIRATION_TIME = 10;
39+
private static final long DEFAULT_TTL = 10 * 60 * 1000;
4140

42-
private Cache<String, ExecutionSummary> cache;
41+
private Map<String, ExecutionSummary> cache;
4342

4443
@Activate
4544
public void activate() {
46-
cache = CacheBuilder.newBuilder().expireAfterWrite(DEFAULT_EXPIRATION_TIME, TimeUnit.MINUTES).build();
45+
cache = new HashMap<>();
4746
}
4847

4948
public void put(String id, ExecutionSummary executionSummary) {
49+
invalidate();
5050
cache.put(id, executionSummary);
5151
}
5252

5353
public ExecutionSummary get(String id) {
54-
return cache.getIfPresent(id);
54+
invalidate();
55+
return cache.get(id);
56+
}
57+
58+
private void invalidate() {
59+
long now = System.currentTimeMillis();
60+
cache.forEach((key, value) -> {
61+
if (value.timestamp + DEFAULT_TTL < now) {
62+
cache.remove(key);
63+
}
64+
});
5565
}
5666

5767
public static class ExecutionSummary implements Serializable {
5868

5969
private final boolean finished;
6070
private final ExecutionResult result;
6171
private final String path;
72+
private final long timestamp;
6273

6374
private ExecutionSummary(boolean finished, ExecutionResult result, String path) {
6475
this.finished = finished;
6576
this.result = result;
6677
this.path = path;
78+
this.timestamp = System.currentTimeMillis();
6779
}
6880

6981
public static ExecutionSummary running() {

app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import com.cognifide.apm.api.services.ExecutionResult.Entry;
2323
import com.cognifide.apm.api.status.Status;
24-
import com.google.common.collect.ImmutableList;
2524
import java.util.Collections;
2625
import java.util.List;
2726
import org.apache.commons.lang3.StringUtils;
@@ -45,8 +44,8 @@ public ProgressEntry(Status status, List<String> messages, String command, Strin
4544
this.status = status != null ? status : Status.SUCCESS;
4645
this.command = StringUtils.defaultString(command);
4746
this.position = position;
48-
this.messages = messages != null ? ImmutableList.copyOf(messages) : Collections.emptyList();
49-
this.parameters = parameters != null ? ImmutableList.copyOf(parameters) : Collections.emptyList();
47+
this.messages = messages != null ? Collections.unmodifiableList(messages) : Collections.emptyList();
48+
this.parameters = parameters != null ? Collections.unmodifiableList(parameters) : Collections.emptyList();
5049
this.authorizable = StringUtils.defaultString(authorizable);
5150
}
5251

0 commit comments

Comments
 (0)