From ef740b68cafc94f5e2e6329c950764f5218a2607 Mon Sep 17 00:00:00 2001 From: Dominik Przybyl Date: Tue, 4 Mar 2025 16:25:38 +0100 Subject: [PATCH 1/3] removed guava dependency --- .../actions/permissions/CheckPermissions.java | 4 +-- .../actions/ActionMapperRegistryImpl.java | 8 ++--- .../apm/core/actions/ActionResultImpl.java | 6 ++-- .../core/actions/MapperDescriptorFactory.java | 12 ++++---- .../apm/core/actions/MappingDescriptor.java | 4 +-- .../scanner/AnnotatedClassRegistry.java | 4 +-- .../endpoints/utils/RequestProcessor.java | 14 +++++---- .../apm/core/grammar/ReferenceFinder.java | 4 +-- .../apm/core/grammar/ScriptRunner.java | 5 ++-- .../grammar/datasource/LevelsDataSource.java | 8 ++--- .../InvalidSyntaxMessageFactory.java | 7 +++-- .../apm/core/grammar/utils/ImportScript.java | 4 +-- .../apm/core/jobs/JobResultsCache.java | 26 ++++++++++++----- .../apm/core/logger/ProgressEntry.java | 6 ++-- .../apm/core/progress/ProgressImpl.java | 3 +- .../apm/core/scripts/ScriptModel.java | 7 ++--- .../async/AsyncScriptExecutorImpl.java | 18 ++++++------ .../apm/core/services/event/ApmEvent.java | 29 ++++++++++++------- .../datasources/SimpleDataSourceBuilder.java | 9 +++--- .../apm/core/ui/models/ScriptsRowModel.java | 13 +++++++-- .../apm/core/utils/mocks/MockGroup.java | 13 ++++----- .../cognifide/apm/main/CompositeAction.java | 13 +++++---- .../apm/main/permissions/PrivilegeGroup.java | 3 +- .../apm/main/permissions/Restrictions.java | 19 ++++++++---- .../core/grammar/ArgumentResolverTest.groovy | 7 ++--- .../grammar/common/StackWithRootTest.groovy | 5 ++-- 26 files changed, 140 insertions(+), 111 deletions(-) diff --git a/app/aem/core/src/main/java/com/cognifide/apm/checks/actions/permissions/CheckPermissions.java b/app/aem/core/src/main/java/com/cognifide/apm/checks/actions/permissions/CheckPermissions.java index 9a27fc673..5ff27bd4d 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/checks/actions/permissions/CheckPermissions.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/checks/actions/permissions/CheckPermissions.java @@ -27,7 +27,6 @@ import com.cognifide.apm.checks.utils.ActionUtils; import com.cognifide.apm.checks.utils.MessagingUtils; import com.day.cq.security.util.CqActions; -import com.google.common.collect.Lists; import java.security.Principal; import java.util.ArrayList; import java.util.Collection; @@ -35,6 +34,7 @@ import java.util.List; import java.util.Set; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; @@ -172,6 +172,6 @@ private static Set getAuthorizablesToCheck(Authorizable authorizable, } private List preparePrivilegesToCheck() { - return Lists.transform(permissions, String::toLowerCase); + return permissions.stream().map(String::toLowerCase).collect(Collectors.toList()); } } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionMapperRegistryImpl.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionMapperRegistryImpl.java index 6d365ec0d..c9a34c90c 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionMapperRegistryImpl.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionMapperRegistryImpl.java @@ -25,11 +25,10 @@ import com.cognifide.apm.core.Property; import com.cognifide.apm.core.actions.scanner.AnnotatedClassRegistry; import com.cognifide.apm.core.actions.scanner.RegistryChangedListener; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -38,7 +37,6 @@ import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; -import org.osgi.service.component.annotations.Reference; import org.scribe.utils.Preconditions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,7 +75,7 @@ public void deactivate() { @Override public void registryChanged(List> registeredClasses) { - this.mappers.set(ImmutableMap.copyOf(createActionMappers(registeredClasses))); + this.mappers.set(Collections.unmodifiableMap(createActionMappers(registeredClasses))); } @Override @@ -93,7 +91,7 @@ public Collection getMappers() { private static Map createActionMappers(List> classes) { MapperDescriptorFactory mapperDescriptorFactory = new MapperDescriptorFactory(); - Map mappers = Maps.newHashMapWithExpectedSize(classes.size()); + Map mappers = new HashMap<>(classes.size()); for (Class clazz : classes) { try { MapperDescriptor mapperDescriptor = mapperDescriptorFactory.create(clazz); diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionResultImpl.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionResultImpl.java index 5f60540f9..b233552b8 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionResultImpl.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/ActionResultImpl.java @@ -22,8 +22,8 @@ import com.cognifide.apm.api.actions.ActionResult; import com.cognifide.apm.api.actions.Message; import com.cognifide.apm.api.status.Status; -import com.google.common.collect.Lists; import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; import org.apache.commons.lang3.StringUtils; @@ -53,12 +53,12 @@ public void setAuthorizable(String authorizable) { @Override public ActionResult merge(ActionResult... actionResults) { - return merge(Lists.newArrayList(actionResults)); + return merge(Arrays.asList(actionResults)); } @Override public ActionResult merge(List actionResults) { - List all = Lists.newArrayList(); + List all = new ArrayList<>(); all.add(this); all.addAll(actionResults); ActionResultImpl result = new ActionResultImpl(); diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java index 6d0876793..380fb7c1c 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java @@ -37,15 +37,15 @@ import com.cognifide.apm.core.grammar.ApmType.ApmList; import com.cognifide.apm.core.grammar.ApmType.ApmMap; import com.cognifide.apm.core.grammar.ApmType.ApmString; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; +import org.apache.commons.collections4.ListUtils; public class MapperDescriptorFactory { @@ -58,11 +58,11 @@ public MapperDescriptor create(Class mapperClass) { Object mapper = createInstance(mapperClass); String name = mapperAnnotation.value(); String group = mapperAnnotation.group(); - List mappingDescriptors = Lists.newArrayList(); + List mappingDescriptors = new ArrayList<>(); for (Method method : mapperClass.getDeclaredMethods()) { create(mapperAnnotation, method).ifPresent(mappingDescriptors::add); } - return new MapperDescriptor(mapper, name, group, ImmutableList.copyOf(mappingDescriptors)); + return new MapperDescriptor(mapper, name, group, ListUtils.unmodifiableList(mappingDescriptors)); } @SuppressWarnings("deprecation") @@ -85,7 +85,7 @@ private Optional create(Mapper mapper, Method method) { throw new InvalidActionMapperException("Mapping method must have return type " + Action.class.getName()); } - List parameterDescriptors = Lists.newArrayList(); + List parameterDescriptors = new ArrayList<>(); Type[] types = method.getGenericParameterTypes(); Annotation[][] annotations = method.getParameterAnnotations(); int requiredIndex = 0; @@ -111,7 +111,7 @@ private Optional create(Mapper mapper, Method method) { parameterDescriptors.add(parameterDescriptor); } - return Optional.of(new MappingDescriptor(method, mapper, mapping, ImmutableList.copyOf(parameterDescriptors))); + return Optional.of(new MappingDescriptor(method, mapper, mapping, ListUtils.unmodifiableList(parameterDescriptors))); } private T getAnnotation(Annotation[] annotations, Class type) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MappingDescriptor.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MappingDescriptor.java index f9238f640..9e138a2cd 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MappingDescriptor.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MappingDescriptor.java @@ -26,9 +26,9 @@ import com.cognifide.apm.core.actions.ParameterDescriptor.NamedParameterDescriptor; import com.cognifide.apm.core.actions.ParameterDescriptor.RequiredParameterDescriptor; import com.cognifide.apm.core.grammar.argument.Arguments; -import com.google.common.collect.ImmutableList; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.Arrays; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -51,7 +51,7 @@ public MappingDescriptor(Method method, Mapper mapper, Mapping mapping, List> getClasses() { flattened.addAll(entry.getValue()); } - return ImmutableList.copyOf(flattened); + return ListUtils.unmodifiableList(flattened); } private void registerClasses(Bundle bundle) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/endpoints/utils/RequestProcessor.java b/app/aem/core/src/main/java/com/cognifide/apm/core/endpoints/utils/RequestProcessor.java index 6d9237e06..8b87e25ad 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/endpoints/utils/RequestProcessor.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/endpoints/utils/RequestProcessor.java @@ -22,9 +22,11 @@ import com.cognifide.apm.core.endpoints.params.RequestParameter; import com.cognifide.apm.core.endpoints.response.ResponseEntity; import com.cognifide.apm.core.utils.ServletUtils; -import com.google.common.collect.ImmutableMap; import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.function.BiFunction; import java.util.stream.Collectors; @@ -52,13 +54,13 @@ public static void process(ModelFactory modelFactory, Class formClass, Sl ServletUtils.writeJson(httpResponse, response.getBody()); } catch (MissingElementsException e) { httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST); - ServletUtils.writeJson(httpResponse, ImmutableMap.of( - "message", "Bad request", - "errors", toErrors(e) - )); + Map params = new HashMap<>(); + params.put("message", "Bad request"); + params.put("errors", toErrors(e)); + ServletUtils.writeJson(httpResponse, params); } catch (Exception e) { httpResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - ServletUtils.writeJson(httpResponse, ImmutableMap.of( + ServletUtils.writeJson(httpResponse, Collections.singletonMap( "message", StringUtils.defaultString(e.getMessage()) )); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ReferenceFinder.java b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ReferenceFinder.java index 24caaea47..1385cede5 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ReferenceFinder.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ReferenceFinder.java @@ -31,8 +31,8 @@ import com.cognifide.apm.core.grammar.executioncontext.ExecutionContext; import com.cognifide.apm.core.grammar.parsedscript.ParsedScript; import com.cognifide.apm.core.progress.ProgressImpl; -import com.google.common.collect.ImmutableList; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashSet; @@ -86,7 +86,7 @@ private void fillReferenceGraph(ReferenceGraph refGraph, Script script) { if (refGraph.getNode(script) == null) { ApmLangParser.ApmContext apmContext = ParsedScript.create(script).getApm(); ExecutionContext executionContext = ExecutionContext.create(scriptFinder, resourceResolver, dataSourceInvoker, script, new ProgressImpl(resourceResolver.getUserID())); - findReferences(refGraph, refGraph.addNode(script), ImmutableList.of(script.getPath()), executionContext, apmContext); + findReferences(refGraph, refGraph.addNode(script), Collections.singletonList(script.getPath()), executionContext, apmContext); } } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ScriptRunner.java b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ScriptRunner.java index 375230d8f..0c34d9d2c 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ScriptRunner.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/ScriptRunner.java @@ -47,7 +47,6 @@ import com.cognifide.apm.core.grammar.utils.RequiredVariablesChecker; import com.cognifide.apm.core.logger.Position; import com.cognifide.apm.core.logger.Progress; -import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -285,7 +284,7 @@ private List readValues(ForEachContext ctx) { } else if (variableValue instanceof ApmList) { values = variableValue.getList(); } else { - values = ImmutableList.of(variableValue); + values = Collections.singletonList(variableValue); } return values.stream() .map(value -> new ApmPair(key, value)) @@ -297,7 +296,7 @@ private void progress(ParserRuleContext ctx, Status status, String command, Stri } private void progress(ParserRuleContext ctx, Status status, String command, String detail, Arguments arguments) { - progress(ctx, status, command, ImmutableList.of(detail), arguments); + progress(ctx, status, command, Collections.singletonList(detail), arguments); } private void progress(ParserRuleContext ctx, Status status, String command, List details) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/datasource/LevelsDataSource.java b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/datasource/LevelsDataSource.java index 50ee992d7..d6a791560 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/datasource/LevelsDataSource.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/datasource/LevelsDataSource.java @@ -25,7 +25,6 @@ import com.cognifide.apm.core.grammar.ApmType.ApmMap; import com.cognifide.apm.core.grammar.ApmType.ApmString; import com.day.cq.wcm.api.NameConstants; -import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -70,10 +69,9 @@ private ApmType traverseTree(Resource root, int depth, List configs) { List list = new ArrayList<>(); for (Resource resource : root.getChildren()) { if (config.isValid(resource)) { - Map map = new HashMap<>(ImmutableMap.of( - "path", new ApmString(resource.getPath()), - "name", new ApmString(resource.getName()) - )); + Map map = new HashMap<>(); + map.put("path", new ApmString(resource.getPath())); + map.put("name", new ApmString(resource.getName())); map.putAll(config.determineParams(resource)); ApmType items = traverseTree(resource, depth + 1, configs); if (items instanceof ApmList) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/parsedscript/InvalidSyntaxMessageFactory.java b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/parsedscript/InvalidSyntaxMessageFactory.java index 865d2eb8f..d6f88fd6d 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/parsedscript/InvalidSyntaxMessageFactory.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/parsedscript/InvalidSyntaxMessageFactory.java @@ -20,7 +20,8 @@ package com.cognifide.apm.core.grammar.parsedscript; -import com.google.common.collect.ImmutableList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Optional; import org.antlr.v4.runtime.CharStream; @@ -45,9 +46,9 @@ private static List underlineError(Recognizer recognizer, Token of String errorLine = getErrorLine(recognizer, line); String invalidLine = String.format("Invalid line [%d:%d]: %s", line, charPositionInLine, errorLine); if (offendingToken != null && StringUtils.isNotBlank(offendingToken.getText())) { - return ImmutableList.of(invalidLine, String.format("Invalid sequence: %s", offendingToken.getText())); + return Arrays.asList(invalidLine, String.format("Invalid sequence: %s", offendingToken.getText())); } else { - return ImmutableList.of(invalidLine); + return Collections.singletonList(invalidLine); } } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/utils/ImportScript.java b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/utils/ImportScript.java index dec6cdeb4..6e67398db 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/utils/ImportScript.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/grammar/utils/ImportScript.java @@ -31,7 +31,7 @@ import com.cognifide.apm.core.grammar.executioncontext.ExecutionContext; import com.cognifide.apm.core.grammar.executioncontext.VariableHolder; import com.cognifide.apm.core.grammar.parsedscript.ParsedScript; -import com.google.common.collect.ImmutableList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -127,7 +127,7 @@ public VariableHolder getVariableHolder() { } public List toMessages() { - List resultMessagesPrefix = ImmutableList.of(String.format("Import from script %s. Notice, only DEFINE actions were processed!", path)); + List resultMessagesPrefix = Collections.singletonList(String.format("Import from script %s. Notice, only DEFINE actions were processed!", path)); List importedVariables = variableHolder.toMap() .entrySet() .stream() diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java b/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java index f540f0bb5..9236fed2d 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java @@ -21,10 +21,9 @@ import com.cognifide.apm.api.services.ExecutionResult; import com.cognifide.apm.core.Property; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; import java.io.Serializable; -import java.util.concurrent.TimeUnit; +import java.util.HashMap; +import java.util.Map; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -37,21 +36,32 @@ ) public class JobResultsCache { - private static final long DEFAULT_EXPIRATION_TIME = 10; + private static final long TTL = 10 * 60 * 1000; - private Cache cache; + private Map cache; @Activate public void activate() { - cache = CacheBuilder.newBuilder().expireAfterWrite(DEFAULT_EXPIRATION_TIME, TimeUnit.MINUTES).build(); + cache = new HashMap<>(); } public void put(String id, ExecutionSummary executionSummary) { + invalidate(); cache.put(id, executionSummary); } public ExecutionSummary get(String id) { - return cache.getIfPresent(id); + invalidate(); + return cache.get(id); + } + + private void invalidate() { + long now = System.currentTimeMillis(); + cache.forEach((key, value) -> { + if (value.time + TTL < now) { + cache.remove(key); + } + }); } public static class ExecutionSummary implements Serializable { @@ -59,11 +69,13 @@ public static class ExecutionSummary implements Serializable { private final boolean finished; private final ExecutionResult result; private final String path; + private final long time; private ExecutionSummary(boolean finished, ExecutionResult result, String path) { this.finished = finished; this.result = result; this.path = path; + this.time = System.currentTimeMillis(); } public static ExecutionSummary running() { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java b/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java index 3acd8cff6..09aa93d4e 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java @@ -21,9 +21,9 @@ import com.cognifide.apm.api.services.ExecutionResult.Entry; import com.cognifide.apm.api.status.Status; -import com.google.common.collect.ImmutableList; import java.util.Collections; import java.util.List; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; public class ProgressEntry implements Entry { @@ -45,8 +45,8 @@ public ProgressEntry(Status status, List messages, String command, Strin this.status = status != null ? status : Status.SUCCESS; this.command = StringUtils.defaultString(command); this.position = position; - this.messages = messages != null ? ImmutableList.copyOf(messages) : Collections.emptyList(); - this.parameters = parameters != null ? ImmutableList.copyOf(parameters) : Collections.emptyList(); + this.messages = messages != null ? ListUtils.unmodifiableList(messages) : Collections.emptyList(); + this.parameters = parameters != null ? ListUtils.unmodifiableList(parameters) : Collections.emptyList(); this.authorizable = StringUtils.defaultString(authorizable); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/progress/ProgressImpl.java b/app/aem/core/src/main/java/com/cognifide/apm/core/progress/ProgressImpl.java index 241d415a0..0765a1397 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/progress/ProgressImpl.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/progress/ProgressImpl.java @@ -27,7 +27,6 @@ import com.cognifide.apm.core.logger.Position; import com.cognifide.apm.core.logger.Progress; import com.cognifide.apm.core.logger.ProgressEntry; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -55,7 +54,7 @@ public ProgressImpl(String executor, List entries) { @Override public List getEntries() { - return Lists.newLinkedList(entries); + return new LinkedList<>(entries); } @Override diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java b/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java index c6ae1349e..db4c7d58d 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java @@ -29,8 +29,6 @@ import com.cognifide.apm.core.utils.ResourceMixinUtil; import com.cognifide.apm.core.utils.RuntimeUtils; import com.day.cq.commons.jcr.JcrConstants; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.util.Arrays; import java.util.Calendar; import java.util.Date; @@ -38,6 +36,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Named; @@ -160,7 +159,7 @@ public LaunchEnvironment getLaunchEnvironment() { @Override public Set getLaunchRunModes() { - return launchRunModes == null ? null : Sets.newHashSet(launchRunModes); + return launchRunModes == null ? null : Arrays.stream(launchRunModes).collect(Collectors.toSet()); } @Override @@ -265,7 +264,7 @@ public static boolean isScript(Resource resource) { } private static List getArrayProperty(Resource resource, String name) { - return Lists.newArrayList(resource.getValueMap().get(name, new String[]{})); + return Arrays.asList(resource.getValueMap().get(name, new String[]{})); } @Override diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/services/async/AsyncScriptExecutorImpl.java b/app/aem/core/src/main/java/com/cognifide/apm/core/services/async/AsyncScriptExecutorImpl.java index 927d521d7..33ec0c878 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/services/async/AsyncScriptExecutorImpl.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/services/async/AsyncScriptExecutorImpl.java @@ -26,8 +26,9 @@ import com.cognifide.apm.core.jobs.JobResultsCache; import com.cognifide.apm.core.jobs.JobResultsCache.ExecutionSummary; import com.cognifide.apm.core.jobs.ScriptRunnerJobConsumer; -import com.google.common.collect.ImmutableMap; import java.util.Calendar; +import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; @@ -61,15 +62,14 @@ public class AsyncScriptExecutorImpl implements AsyncScriptExecutor { @Override public String process(Script script, ExecutionMode executionMode, Map customDefinitions, String executor) { String id = UUID.randomUUID().toString(); - Map properties = ImmutableMap.of( - ID, id, - SCRIPT_PATH, script.getPath(), - EXECUTION_MODE, executionMode.toString(), - USER_ID, executor, - DEFINITIONS, customDefinitions - ); + Map properties = new HashMap<>(); + properties.put(ID, id); + properties.put(SCRIPT_PATH, script.getPath()); + properties.put(EXECUTION_MODE, executionMode.toString()); + properties.put(USER_ID, executor); + properties.put(DEFINITIONS, customDefinitions); jobResultsCache.put(id, ExecutionSummary.running()); - new Thread(() -> scriptRunnerJobConsumer.process(properties)).start(); + new Thread(() -> scriptRunnerJobConsumer.process(Collections.unmodifiableMap(properties))).start(); return id; } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java b/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java index 6b0caa70c..8dbb84783 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java @@ -21,7 +21,8 @@ import com.cognifide.apm.api.scripts.Script; import com.cognifide.apm.api.services.ExecutionMode; -import com.google.common.collect.ImmutableMap; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; import org.osgi.service.event.Event; @@ -42,6 +43,14 @@ private ApmEvent(String topic, Map properties) { this.properties = properties; } + private ApmEvent(String topic) { + this(topic, new HashMap<>()); + } + + protected void putProperty(String key, Object value) { + properties.put(key, value); + } + public Event toOsgiEvent() { return new Event(topic, properties); } @@ -49,28 +58,26 @@ public Event toOsgiEvent() { public static class ScriptLaunchedEvent extends ApmEvent { public ScriptLaunchedEvent(Script script, ExecutionMode mode) { - super(SCRIPT_LAUNCHED, ImmutableMap.of( - "script", script.getPath(), - "mode", mode.toString() - )); + super(SCRIPT_LAUNCHED); + putProperty("script", script.getPath()); + putProperty("mode", mode.toString()); } } public static class ScriptExecutedEvent extends ApmEvent { public ScriptExecutedEvent(Script script, ExecutionMode mode, boolean success) { - super(SCRIPT_EXECUTED, ImmutableMap.of( - "script", script.getPath(), - "mode", mode.toString(), - "success", success - )); + super(SCRIPT_EXECUTED); + putProperty("script", script.getPath()); + putProperty("mode", mode.toString()); + putProperty("success", success); } } public static class InstallHookExecuted extends ApmEvent { public InstallHookExecuted(String hookName) { - super(INSTALL_HOOK_EXECUTED, ImmutableMap.of( + super(INSTALL_HOOK_EXECUTED, Collections.singletonMap( "installHookName", hookName )); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/datasources/SimpleDataSourceBuilder.java b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/datasources/SimpleDataSourceBuilder.java index ea85447d7..ca9c7068b 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/datasources/SimpleDataSourceBuilder.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/datasources/SimpleDataSourceBuilder.java @@ -23,9 +23,9 @@ import com.adobe.granite.ui.components.ds.SimpleDataSource; import com.adobe.granite.ui.components.ds.ValueMapResource; import com.day.cq.commons.jcr.JcrConstants; -import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -73,10 +73,9 @@ public SimpleDataSource build() { } private Resource createDataSourceItem(ResourceResolver resolver, String name, String value) { - Map valueMap = ImmutableMap.of( - CONFIGURATION_NAME_PROP, name, - CONFIGURATION_PATH_PROP, value - ); + Map valueMap = new HashMap<>(); + valueMap.put(CONFIGURATION_NAME_PROP, name); + valueMap.put(CONFIGURATION_PATH_PROP, value); ValueMapDecorator result = new ValueMapDecorator(valueMap); return new ValueMapResource(resolver, new ResourceMetadata(), JcrConstants.NT_RESOURCE, result); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java index cd935d33c..8b36f2a69 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java @@ -27,9 +27,10 @@ import com.cognifide.apm.core.utils.CalendarUtils; import com.cognifide.apm.core.utils.LabelUtils; import com.day.cq.commons.jcr.JcrConstants; -import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; @@ -47,8 +48,14 @@ @Model(adaptables = Resource.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public final class ScriptsRowModel { - private static final Set FOLDER_TYPES = ImmutableSet - .of(JcrConstants.NT_FOLDER, "sling:OrderedFolder", "sling:Folder"); + private static final Set FOLDER_TYPES; + static { + Set tempSet = new HashSet<>(); + tempSet.add(JcrConstants.NT_FOLDER); + tempSet.add("sling:OrderedFolder"); + tempSet.add("sling:Folder"); + FOLDER_TYPES = Collections.unmodifiableSet(tempSet); + } public static final String SCRIPTS_ROW_RESOURCE_TYPE = "apm/components/scriptsRow"; diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/utils/mocks/MockGroup.java b/app/aem/core/src/main/java/com/cognifide/apm/core/utils/mocks/MockGroup.java index 68a339911..a18408861 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/utils/mocks/MockGroup.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/utils/mocks/MockGroup.java @@ -19,7 +19,6 @@ */ package com.cognifide.apm.core.utils.mocks; -import com.google.common.collect.Iterators; import java.security.Principal; import java.util.Collections; import java.util.Iterator; @@ -54,12 +53,12 @@ public Principal getPrincipal() throws RepositoryException { @Override public Iterator declaredMemberOf() throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override public Iterator memberOf() throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override @@ -68,12 +67,12 @@ public void remove() throws RepositoryException { @Override public Iterator getPropertyNames() throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override public Iterator getPropertyNames(String relPath) throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override @@ -106,12 +105,12 @@ public String getPath() throws RepositoryException { @Override public Iterator getDeclaredMembers() throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override public Iterator getMembers() throws RepositoryException { - return Iterators.emptyIterator(); + return Collections.emptyIterator(); } @Override diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java b/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java index 730339c15..cfd78b180 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java @@ -23,26 +23,27 @@ import com.cognifide.apm.api.actions.ActionResult; import com.cognifide.apm.api.actions.Context; import com.cognifide.apm.api.exceptions.ActionExecutionException; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import org.apache.commons.collections4.ListUtils; public class CompositeAction implements Action { private final List actions; public CompositeAction(List actions) { - this.actions = ImmutableList.copyOf(actions); + this.actions = ListUtils.unmodifiableList(actions); } public CompositeAction(Action... actions) { - this.actions = ImmutableList.copyOf(actions); + this.actions = Arrays.asList(actions); } @Override public ActionResult simulate(Context context) throws ActionExecutionException { ActionResult result = context.createActionResult(); - List actionResults = Lists.newArrayListWithCapacity(actions.size()); + List actionResults = new ArrayList<>(actions.size()); for (Action action : actions) { actionResults.add(action.simulate(context)); } @@ -52,7 +53,7 @@ public ActionResult simulate(Context context) throws ActionExecutionException { @Override public ActionResult execute(Context context) throws ActionExecutionException { ActionResult result = context.createActionResult(); - List actionResults = Lists.newArrayListWithCapacity(actions.size()); + List actionResults = new ArrayList<>(actions.size()); for (Action action : actions) { actionResults.add(action.execute(context)); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/PrivilegeGroup.java b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/PrivilegeGroup.java index 58d7b62e7..5601ce4c8 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/PrivilegeGroup.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/PrivilegeGroup.java @@ -19,7 +19,6 @@ */ package com.cognifide.apm.main.permissions; -import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -73,7 +72,7 @@ public enum PrivilegeGroup { PrivilegeGroup(String title, String... privileges) { this.title = title; - this.privileges = ImmutableList.copyOf(privileges); + this.privileges = Arrays.asList(privileges); } public static Optional getFromTitle(String title) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java index 1197e6e2f..d5aa2564e 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java @@ -20,9 +20,9 @@ package com.cognifide.apm.main.permissions; -import com.google.common.collect.ImmutableSet; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; @@ -45,10 +45,19 @@ public class Restrictions { private static final String REP_ITEM_NAMES_PROPERTY = "rep:itemNames"; - private static final Set MULTI_VALUE_REP_PROPERTIES = ImmutableSet.of( - REP_NT_NAMES_PROPERTY, REP_ITEM_NAMES_PROPERTY, REP_GLOBS_PROPERTY, "rep:prefixes", "rep:current", - "rep:subtrees", "sling:resourceTypes", "sling:resourceTypesWithDescendants" - ); + private static final Set MULTI_VALUE_REP_PROPERTIES; + static { + Set tempSet = new HashSet<>(); + tempSet.add(REP_NT_NAMES_PROPERTY); + tempSet.add(REP_ITEM_NAMES_PROPERTY); + tempSet.add(REP_GLOBS_PROPERTY); + tempSet.add("rep:prefixes"); + tempSet.add("rep:current"); + tempSet.add("rep:subtrees"); + tempSet.add("sling:resourceTypes"); + tempSet.add("sling:resourceTypesWithDescendants"); + MULTI_VALUE_REP_PROPERTIES = Collections.unmodifiableSet(tempSet); + } private final String glob; diff --git a/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/ArgumentResolverTest.groovy b/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/ArgumentResolverTest.groovy index 24b371b14..1c3a14e9f 100644 --- a/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/ArgumentResolverTest.groovy +++ b/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/ArgumentResolverTest.groovy @@ -28,7 +28,6 @@ import com.cognifide.apm.core.grammar.argument.ArgumentResolver import com.cognifide.apm.core.grammar.argument.ArgumentResolverException import com.cognifide.apm.core.grammar.datasource.DataSourceInvoker import com.cognifide.apm.core.grammar.executioncontext.VariableHolder -import com.google.common.collect.Lists import org.apache.sling.api.resource.ResourceResolver import spock.lang.Specification @@ -219,7 +218,7 @@ class ArgumentResolverTest extends Specification { def "resolve list parameters"() { given: - variableHolder.set("var1", new ApmList(Lists.newArrayList(new ApmString("val1")))) + variableHolder.set("var1", new ApmList(Collections.singletonList(new ApmString("val1")))) variableHolder.set("var2", new ApmString("val2")) def parameterResolver = createArgumentResolver() def parser = ApmLangParserHelper.createParserUsingScript("\$var1 [\$var2, 'FALSE']") @@ -234,7 +233,7 @@ class ArgumentResolverTest extends Specification { def "resolve optional parameters"() { given: - variableHolder.set("var1", new ApmList(Lists.newArrayList(new ApmString("val1")))) + variableHolder.set("var1", new ApmList(Collections.singletonList(new ApmString("val1")))) variableHolder.set("var2", new ApmString("val2")) def parameterResolver = createArgumentResolver() def parser = ApmLangParserHelper.createParserUsingScript("\$var1 param1=[\$var2, 'FALSE'] param2='STRICT'") @@ -249,7 +248,7 @@ class ArgumentResolverTest extends Specification { def "resolve flags"() { given: - variableHolder.set("var1", new ApmList(Lists.newArrayList(new ApmString("val1")))) + variableHolder.set("var1", new ApmList(Collections.singletonList(new ApmString("val1")))) variableHolder.set("var2", new ApmString("val2")) def parameterResolver = createArgumentResolver() def parser = ApmLangParserHelper.createParserUsingScript("\$var1 param1=[\$var2, 'FALSE'] --IF-EXISTS --DEEP") diff --git a/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/common/StackWithRootTest.groovy b/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/common/StackWithRootTest.groovy index 939772298..85c5f2880 100644 --- a/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/common/StackWithRootTest.groovy +++ b/app/aem/core/src/test/groovy/com/cognifide/apm/core/grammar/common/StackWithRootTest.groovy @@ -20,7 +20,8 @@ package com.cognifide.apm.core.grammar.common -import com.google.common.collect.Lists +import java.util.stream.Collectors +import java.util.stream.StreamSupport import spock.lang.Specification class StackWithRootTest extends Specification { @@ -32,7 +33,7 @@ class StackWithRootTest extends Specification { stack.push("2") stack.push("3") - def newList = Lists.newArrayList(stack) + def newList = StreamSupport.stream(stack.spliterator(), false).collect(Collectors.toList()) then: newList == ["3", "2", "1", "root"] From 71c083e2fa1ef065072a10ad61c843785d7b49fc Mon Sep 17 00:00:00 2001 From: Dominik Przybyl Date: Tue, 11 Mar 2025 10:31:45 +0100 Subject: [PATCH 2/3] removed guava dependency --- .../core/actions/MapperDescriptorFactory.java | 6 ++--- .../scanner/AnnotatedClassRegistry.java | 4 ++-- .../apm/core/jobs/JobResultsCache.java | 8 +++---- .../apm/core/logger/ProgressEntry.java | 5 ++-- .../apm/core/scripts/ScriptModel.java | 4 ++-- .../apm/core/services/event/ApmEvent.java | 24 +++++++------------ .../apm/core/ui/models/ScriptsRowModel.java | 11 +++------ .../cognifide/apm/main/CompositeAction.java | 4 ++-- .../apm/main/permissions/Restrictions.java | 18 ++++---------- 9 files changed, 31 insertions(+), 53 deletions(-) diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java index 380fb7c1c..fd030cd59 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/MapperDescriptorFactory.java @@ -42,10 +42,10 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Optional; -import org.apache.commons.collections4.ListUtils; public class MapperDescriptorFactory { @@ -62,7 +62,7 @@ public MapperDescriptor create(Class mapperClass) { for (Method method : mapperClass.getDeclaredMethods()) { create(mapperAnnotation, method).ifPresent(mappingDescriptors::add); } - return new MapperDescriptor(mapper, name, group, ListUtils.unmodifiableList(mappingDescriptors)); + return new MapperDescriptor(mapper, name, group, Collections.unmodifiableList(mappingDescriptors)); } @SuppressWarnings("deprecation") @@ -111,7 +111,7 @@ private Optional create(Mapper mapper, Method method) { parameterDescriptors.add(parameterDescriptor); } - return Optional.of(new MappingDescriptor(method, mapper, mapping, ListUtils.unmodifiableList(parameterDescriptors))); + return Optional.of(new MappingDescriptor(method, mapper, mapping, Collections.unmodifiableList(parameterDescriptors))); } private T getAnnotation(Annotation[] annotations, Class type) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/scanner/AnnotatedClassRegistry.java b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/scanner/AnnotatedClassRegistry.java index c70bb9c0c..4176fcd3e 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/actions/scanner/AnnotatedClassRegistry.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/actions/scanner/AnnotatedClassRegistry.java @@ -21,12 +21,12 @@ import java.lang.annotation.Annotation; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import org.apache.commons.collections4.ListUtils; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleEvent; @@ -96,7 +96,7 @@ public List> getClasses() { flattened.addAll(entry.getValue()); } - return ListUtils.unmodifiableList(flattened); + return Collections.unmodifiableList(flattened); } private void registerClasses(Bundle bundle) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java b/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java index 9236fed2d..6cc6e51e7 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/jobs/JobResultsCache.java @@ -36,7 +36,7 @@ ) public class JobResultsCache { - private static final long TTL = 10 * 60 * 1000; + private static final long DEFAULT_TTL = 10 * 60 * 1000; private Map cache; @@ -58,7 +58,7 @@ public ExecutionSummary get(String id) { private void invalidate() { long now = System.currentTimeMillis(); cache.forEach((key, value) -> { - if (value.time + TTL < now) { + if (value.timestamp + DEFAULT_TTL < now) { cache.remove(key); } }); @@ -69,13 +69,13 @@ public static class ExecutionSummary implements Serializable { private final boolean finished; private final ExecutionResult result; private final String path; - private final long time; + private final long timestamp; private ExecutionSummary(boolean finished, ExecutionResult result, String path) { this.finished = finished; this.result = result; this.path = path; - this.time = System.currentTimeMillis(); + this.timestamp = System.currentTimeMillis(); } public static ExecutionSummary running() { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java b/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java index 09aa93d4e..b1a10ad77 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/logger/ProgressEntry.java @@ -23,7 +23,6 @@ import com.cognifide.apm.api.status.Status; import java.util.Collections; import java.util.List; -import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; public class ProgressEntry implements Entry { @@ -45,8 +44,8 @@ public ProgressEntry(Status status, List messages, String command, Strin this.status = status != null ? status : Status.SUCCESS; this.command = StringUtils.defaultString(command); this.position = position; - this.messages = messages != null ? ListUtils.unmodifiableList(messages) : Collections.emptyList(); - this.parameters = parameters != null ? ListUtils.unmodifiableList(parameters) : Collections.emptyList(); + this.messages = messages != null ? Collections.unmodifiableList(messages) : Collections.emptyList(); + this.parameters = parameters != null ? Collections.unmodifiableList(parameters) : Collections.emptyList(); this.authorizable = StringUtils.defaultString(authorizable); } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java b/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java index db4c7d58d..04205affa 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java @@ -32,11 +32,11 @@ import java.util.Arrays; import java.util.Calendar; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Named; @@ -159,7 +159,7 @@ public LaunchEnvironment getLaunchEnvironment() { @Override public Set getLaunchRunModes() { - return launchRunModes == null ? null : Arrays.stream(launchRunModes).collect(Collectors.toSet()); + return launchRunModes == null ? null : new HashSet<>(Arrays.asList(launchRunModes)); } @Override diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java b/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java index 8dbb84783..ead6ed2b5 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/services/event/ApmEvent.java @@ -36,21 +36,13 @@ public abstract class ApmEvent { private final String topic; - private final Map properties; + protected final Map properties; private ApmEvent(String topic, Map properties) { this.topic = topic; this.properties = properties; } - private ApmEvent(String topic) { - this(topic, new HashMap<>()); - } - - protected void putProperty(String key, Object value) { - properties.put(key, value); - } - public Event toOsgiEvent() { return new Event(topic, properties); } @@ -58,19 +50,19 @@ public Event toOsgiEvent() { public static class ScriptLaunchedEvent extends ApmEvent { public ScriptLaunchedEvent(Script script, ExecutionMode mode) { - super(SCRIPT_LAUNCHED); - putProperty("script", script.getPath()); - putProperty("mode", mode.toString()); + super(SCRIPT_LAUNCHED, new HashMap<>()); + properties.put("script", script.getPath()); + properties.put("mode", mode.toString()); } } public static class ScriptExecutedEvent extends ApmEvent { public ScriptExecutedEvent(Script script, ExecutionMode mode, boolean success) { - super(SCRIPT_EXECUTED); - putProperty("script", script.getPath()); - putProperty("mode", mode.toString()); - putProperty("success", success); + super(SCRIPT_EXECUTED, new HashMap<>()); + properties.put("script", script.getPath()); + properties.put("mode", mode.toString()); + properties.put("success", success); } } diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java index 8b36f2a69..f04167d9b 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java @@ -28,6 +28,7 @@ import com.cognifide.apm.core.utils.LabelUtils; import com.day.cq.commons.jcr.JcrConstants; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.HashSet; @@ -48,14 +49,8 @@ @Model(adaptables = Resource.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public final class ScriptsRowModel { - private static final Set FOLDER_TYPES; - static { - Set tempSet = new HashSet<>(); - tempSet.add(JcrConstants.NT_FOLDER); - tempSet.add("sling:OrderedFolder"); - tempSet.add("sling:Folder"); - FOLDER_TYPES = Collections.unmodifiableSet(tempSet); - } + private static final Set FOLDER_TYPES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( + JcrConstants.NT_FOLDER, "sling:OrderedFolder", "sling:Folder"))); public static final String SCRIPTS_ROW_RESOURCE_TYPE = "apm/components/scriptsRow"; diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java b/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java index cfd78b180..0981b9007 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/CompositeAction.java @@ -25,15 +25,15 @@ import com.cognifide.apm.api.exceptions.ActionExecutionException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; -import org.apache.commons.collections4.ListUtils; public class CompositeAction implements Action { private final List actions; public CompositeAction(List actions) { - this.actions = ListUtils.unmodifiableList(actions); + this.actions = Collections.unmodifiableList(actions); } public CompositeAction(Action... actions) { diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java index d5aa2564e..33f036e96 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java @@ -20,6 +20,7 @@ package com.cognifide.apm.main.permissions; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -45,19 +46,10 @@ public class Restrictions { private static final String REP_ITEM_NAMES_PROPERTY = "rep:itemNames"; - private static final Set MULTI_VALUE_REP_PROPERTIES; - static { - Set tempSet = new HashSet<>(); - tempSet.add(REP_NT_NAMES_PROPERTY); - tempSet.add(REP_ITEM_NAMES_PROPERTY); - tempSet.add(REP_GLOBS_PROPERTY); - tempSet.add("rep:prefixes"); - tempSet.add("rep:current"); - tempSet.add("rep:subtrees"); - tempSet.add("sling:resourceTypes"); - tempSet.add("sling:resourceTypesWithDescendants"); - MULTI_VALUE_REP_PROPERTIES = Collections.unmodifiableSet(tempSet); - } + private static final Set MULTI_VALUE_REP_PROPERTIES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( + REP_NT_NAMES_PROPERTY, REP_ITEM_NAMES_PROPERTY, REP_GLOBS_PROPERTY, "rep:prefixes", "rep:current", "rep:subtrees", + "sling:resourceTypes", "sling:resourceTypesWithDescendants" + ))); private final String glob; From 66d8b5111e6d750bd73e189676382476fe104a03 Mon Sep 17 00:00:00 2001 From: Dominik Przybyl Date: Tue, 11 Mar 2025 17:08:29 +0100 Subject: [PATCH 3/3] minor --- .../com/cognifide/apm/core/ui/models/ScriptsRowModel.java | 3 ++- .../java/com/cognifide/apm/main/permissions/Restrictions.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java index f04167d9b..f1fa00ea9 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java @@ -50,7 +50,8 @@ public final class ScriptsRowModel { private static final Set FOLDER_TYPES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( - JcrConstants.NT_FOLDER, "sling:OrderedFolder", "sling:Folder"))); + JcrConstants.NT_FOLDER, "sling:OrderedFolder", "sling:Folder" + ))); public static final String SCRIPTS_ROW_RESOURCE_TYPE = "apm/components/scriptsRow"; diff --git a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java index 33f036e96..43dc329bf 100644 --- a/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java +++ b/app/aem/core/src/main/java/com/cognifide/apm/main/permissions/Restrictions.java @@ -47,8 +47,8 @@ public class Restrictions { private static final String REP_ITEM_NAMES_PROPERTY = "rep:itemNames"; private static final Set MULTI_VALUE_REP_PROPERTIES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( - REP_NT_NAMES_PROPERTY, REP_ITEM_NAMES_PROPERTY, REP_GLOBS_PROPERTY, "rep:prefixes", "rep:current", "rep:subtrees", - "sling:resourceTypes", "sling:resourceTypesWithDescendants" + REP_NT_NAMES_PROPERTY, REP_ITEM_NAMES_PROPERTY, REP_GLOBS_PROPERTY, "rep:prefixes", "rep:current", + "rep:subtrees", "sling:resourceTypes", "sling:resourceTypesWithDescendants" ))); private final String glob;