Skip to content

Commit d54fb11

Browse files
committed
Merge branch 'master' into add-data-source-support
2 parents 891a06d + b3c1a14 commit d54fb11

File tree

10 files changed

+62
-63
lines changed

10 files changed

+62
-63
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
*/
2020
package com.cognifide.apm.core.actions;
2121

22-
import static java.lang.String.format;
23-
2422
import com.cognifide.apm.api.actions.ActionResult;
2523
import com.cognifide.apm.api.actions.Message;
2624
import com.cognifide.apm.api.status.Status;
@@ -123,7 +121,7 @@ private static String checkCommonAuthorizable(List<ActionResult> actionResults)
123121
for (ActionResult actionResult : actionResults) {
124122
String current = actionResult.getAuthorizable();
125123
if (current != null && !StringUtils.equals(current, pattern)) {
126-
String error = format("Cannot create CompositeActionResult, mismatch of authorizables. Found: %s Expected: %s",
124+
String error = String.format("Cannot create CompositeActionResult, mismatch of authorizables. Found: %s Expected: %s",
127125
actionResult.getAuthorizable(), pattern);
128126
throw new IllegalArgumentException(error);
129127
}

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@
2020

2121
package com.cognifide.apm.core.actions;
2222

23-
import static java.util.Collections.singletonList;
24-
2523
import com.cognifide.apm.api.actions.annotations.Flag;
2624
import com.cognifide.apm.api.actions.annotations.Named;
2725
import com.cognifide.apm.api.actions.annotations.Required;
2826
import com.cognifide.apm.core.crypto.DecryptionService;
2927
import com.cognifide.apm.core.grammar.ApmType;
3028
import com.cognifide.apm.core.grammar.argument.Arguments;
3129
import java.util.Arrays;
30+
import java.util.Collections;
3231
import java.util.List;
3332
import java.util.stream.Collectors;
3433

@@ -62,7 +61,7 @@ public static class RequiredParameterDescriptor extends ParameterDescriptor {
6261
public RequiredParameterDescriptor(Class<? extends ApmType> type, int index, Required required) {
6362
super(type);
6463
this.index = index;
65-
this.argumentDescriptions = singletonList(new ArgumentDescription(
64+
this.argumentDescriptions = Collections.singletonList(new ArgumentDescription(
6665
required != null ? required.value() : "(" + index + ")",
6766
"required",
6867
required != null ? required.description() : ""
@@ -101,7 +100,7 @@ public static class NamedParameterDescriptor extends ParameterDescriptor {
101100
public NamedParameterDescriptor(Class<? extends ApmType> type, Named named) {
102101
super(type);
103102
this.name = named.value();
104-
this.argumentDescriptions = singletonList(new ArgumentDescription(
103+
this.argumentDescriptions = Collections.singletonList(new ArgumentDescription(
105104
name, "named", named.description()
106105
));
107106
}
@@ -168,7 +167,7 @@ public static class FlagParameterDescriptor extends ParameterDescriptor {
168167

169168
public FlagParameterDescriptor(Class<? extends ApmType> type, Flag flag) {
170169
super(type);
171-
this.argumentDescriptions = singletonList(new ArgumentDescription(flag.value(), "flag", flag.description()));
170+
this.argumentDescriptions = Collections.singletonList(new ArgumentDescription(flag.value(), "flag", flag.description()));
172171
this.flag = flag.value();
173172
}
174173

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@
1919
*/
2020
package com.cognifide.apm.core.logger;
2121

22-
import static org.apache.commons.lang3.StringUtils.defaultString;
23-
2422
import com.cognifide.apm.api.services.ExecutionResult.Entry;
2523
import com.cognifide.apm.api.status.Status;
2624
import com.google.common.collect.ImmutableList;
2725
import java.util.Collections;
2826
import java.util.List;
27+
import org.apache.commons.lang3.StringUtils;
2928

3029
public class ProgressEntry implements Entry {
3130

@@ -44,11 +43,11 @@ public class ProgressEntry implements Entry {
4443
public ProgressEntry(Status status, List<String> messages, String command, String authorizable,
4544
List<String> parameters, Position position) {
4645
this.status = status != null ? status : Status.SUCCESS;
47-
this.command = defaultString(command);
46+
this.command = StringUtils.defaultString(command);
4847
this.position = position;
4948
this.messages = messages != null ? ImmutableList.copyOf(messages) : Collections.emptyList();
5049
this.parameters = parameters != null ? ImmutableList.copyOf(parameters) : Collections.emptyList();
51-
this.authorizable = defaultString(authorizable);
50+
this.authorizable = StringUtils.defaultString(authorizable);
5251
}
5352

5453
@Override

app/aem/core/src/main/java/com/cognifide/apm/core/progress/ProgressImpl.java

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

22-
import static java.lang.String.format;
23-
import static java.util.Collections.singletonList;
24-
2522
import com.cognifide.apm.api.actions.ActionResult;
2623
import com.cognifide.apm.api.actions.Message;
2724
import com.cognifide.apm.api.status.Status;
@@ -87,14 +84,14 @@ private List<String> toParameters(Arguments arguments) {
8784
}
8885
final List<String> parameters = new ArrayList<>();
8986
arguments.getRequired().forEach(it -> parameters.add(it.toString()));
90-
arguments.getNamed().forEach((key, value) -> parameters.add(format("%s=%s", key, value)));
91-
arguments.getFlags().forEach(it -> parameters.add(format("--%s", it)));
87+
arguments.getNamed().forEach((key, value) -> parameters.add(String.format("%s=%s", key, value)));
88+
arguments.getFlags().forEach(it -> parameters.add(String.format("--%s", it)));
9289
return parameters;
9390
}
9491

9592
@Override
9693
public void addEntry(Status status, String message) {
97-
this.entries.add(shortEntry("", singletonList(message), status));
94+
this.entries.add(shortEntry("", Collections.singletonList(message), status));
9895
}
9996

10097
@Override
@@ -104,7 +101,7 @@ public void addEntry(Status status, List<String> messages) {
104101

105102
@Override
106103
public void addEntry(Status status, String message, String command) {
107-
this.entries.add(shortEntry(command, singletonList(message), status));
104+
this.entries.add(shortEntry(command, Collections.singletonList(message), status));
108105
}
109106

110107
@Override

app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptManagerImpl.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,7 @@ public Progress process(Script script, ExecutionMode mode, Map<String, String> c
164164
}
165165

166166
updateScriptProperties(script, mode, progress.isSuccess());
167-
if (progress.isSuccess()) {
168-
versionService.updateVersionIfNeeded(resolver, script);
169-
}
167+
versionService.updateVersionIfNeeded(resolver, script);
170168
saveHistory(script, mode, progress);
171169
eventManager.trigger(new ScriptExecutedEvent(script, mode, progress.isSuccess()));
172170

app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptModel.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import java.util.Arrays;
3535
import java.util.Calendar;
3636
import java.util.Date;
37-
import java.util.GregorianCalendar;
3837
import java.util.List;
3938
import java.util.Objects;
4039
import java.util.Optional;
@@ -239,17 +238,17 @@ private void setProperty(String name, Object value) throws PersistenceException
239238
ResourceResolver resolver = resource.getResourceResolver();
240239
boolean compositeNodeStore = RuntimeUtils.determineCompositeNodeStore(resolver);
241240
if (!compositeNodeStore || !PathUtils.isAppsOrLibsPath(path)) {
242-
ModifiableValueMap vm = resource.adaptTo(ModifiableValueMap.class);
243-
ResourceMixinUtil.addMixin(vm, ScriptNode.APM_SCRIPT);
244-
vm.put(name, convertValue(value));
241+
ModifiableValueMap valueMap = resource.adaptTo(ModifiableValueMap.class);
242+
ResourceMixinUtil.addMixin(valueMap, ScriptNode.APM_SCRIPT);
243+
valueMap.put(name, convertValue(value));
245244

246245
resolver.commit();
247246
}
248247
}
249248

250249
private Object convertValue(Object obj) {
251250
if (obj instanceof Date) {
252-
Calendar calendar = new GregorianCalendar();
251+
Calendar calendar = Calendar.getInstance();
253252
calendar.setTime((Date) obj);
254253

255254
return calendar;

app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptStorageImpl.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
*/
2020
package com.cognifide.apm.core.scripts;
2121

22-
import static java.lang.String.format;
23-
2422
import com.cognifide.apm.api.scripts.Script;
2523
import com.cognifide.apm.api.services.ScriptFinder;
2624
import com.cognifide.apm.core.Apm;
@@ -178,7 +176,7 @@ private List<String> validate(FileDescriptor file) {
178176
private static void ensurePropertyMatchesPattern(List<String> errors, String property, String value,
179177
Pattern pattern) {
180178
if (!pattern.matcher(value).matches()) {
181-
errors.add(format("Invalid %s: \"%s\"", property, value));
179+
errors.add(String.format("Invalid %s: \"%s\"", property, value));
182180
}
183181
}
184182

app/aem/core/src/main/java/com/cognifide/apm/core/services/ScriptsResourceChangeListener.java

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
import com.cognifide.apm.core.Apm;
3030
import com.cognifide.apm.core.Property;
3131
import com.cognifide.apm.core.launchers.ApmInstallService;
32+
import com.cognifide.apm.core.ui.models.ScriptsRowModel;
3233
import com.cognifide.apm.core.utils.sling.SlingHelper;
34+
import com.day.cq.commons.jcr.JcrConstants;
3335
import java.text.SimpleDateFormat;
3436
import java.util.Dictionary;
3537
import java.util.HashMap;
@@ -38,6 +40,8 @@
3840
import java.util.Map;
3941
import java.util.Objects;
4042
import org.apache.commons.lang3.StringUtils;
43+
import org.apache.sling.api.resource.ModifiableValueMap;
44+
import org.apache.sling.api.resource.ValueMap;
4145
import org.apache.sling.api.resource.observation.ResourceChange;
4246
import org.apache.sling.api.resource.observation.ResourceChangeListener;
4347
import org.osgi.framework.Bundle;
@@ -96,38 +100,48 @@ public void onChange(List<ResourceChange> changes) {
96100
Bundle currentBundle = FrameworkUtil.getBundle(ScriptsResourceChangeListener.class);
97101
BundleContext bundleContext = currentBundle.getBundleContext();
98102

99-
SlingHelper.operateTraced(resolverProvider, resolver ->
100-
changes.stream()
101-
.filter(change -> StringUtils.endsWith(change.getPath(), Apm.FILE_EXT))
102-
.forEach(change -> {
103-
if (change.getType() == ResourceChange.ChangeType.ADDED) {
104-
Script script = scriptFinder.find(change.getPath(), resolver);
103+
SlingHelper.operateTraced(resolverProvider, resolver -> {
104+
// rename copy/paste folders
105+
changes.stream()
106+
.filter(change -> change.getType() == ResourceChange.ChangeType.ADDED)
107+
.map(change -> resolver.getResource(change.getPath()))
108+
.filter(ScriptsRowModel::isFolder)
109+
.forEach(resource -> {
110+
ValueMap valueMap = resource.adaptTo(ModifiableValueMap.class);
111+
valueMap.put(JcrConstants.JCR_TITLE, resource.getName());
112+
});
113+
//register schedule or cron expression scripts
114+
changes.stream()
115+
.filter(change -> StringUtils.endsWith(change.getPath(), Apm.FILE_EXT))
116+
.forEach(change -> {
117+
if (change.getType() == ResourceChange.ChangeType.ADDED) {
118+
Script script = scriptFinder.find(change.getPath(), resolver);
119+
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
120+
registerScript(script, bundleContext);
121+
}
122+
} else if (change.getType() == ResourceChange.ChangeType.REMOVED) {
123+
RegisterScript registeredScript = registeredScripts.get(change.getPath());
124+
if (registeredScript != null) {
125+
registeredScript.registration.unregister();
126+
registeredScripts.remove(change.getPath());
127+
}
128+
} else if (change.getType() == ResourceChange.ChangeType.CHANGED) {
129+
Script script = scriptFinder.find(change.getPath(), resolver);
130+
RegisterScript registeredScript = registeredScripts.get(change.getPath());
131+
if (registeredScript == null) {
105132
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
106133
registerScript(script, bundleContext);
107134
}
108-
} else if (change.getType() == ResourceChange.ChangeType.REMOVED) {
109-
RegisterScript registeredScript = registeredScripts.get(change.getPath());
110-
if (registeredScript != null) {
111-
registeredScript.registration.unregister();
112-
registeredScripts.remove(change.getPath());
113-
}
114-
} else if (change.getType() == ResourceChange.ChangeType.CHANGED) {
115-
Script script = scriptFinder.find(change.getPath(), resolver);
116-
RegisterScript registeredScript = registeredScripts.get(change.getPath());
117-
if (registeredScript == null) {
118-
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
119-
registerScript(script, bundleContext);
120-
}
121-
} else if (!Objects.equals(script, registeredScript.script)) {
122-
registeredScript.registration.unregister();
123-
registeredScripts.remove(change.getPath());
124-
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
125-
registerScript(script, bundleContext);
126-
}
135+
} else if (!Objects.equals(script, registeredScript.script)) {
136+
registeredScript.registration.unregister();
137+
registeredScripts.remove(change.getPath());
138+
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
139+
registerScript(script, bundleContext);
127140
}
128141
}
129-
})
130-
);
142+
}
143+
});
144+
});
131145
}
132146

133147
private void registerScript(Script script, BundleContext bundleContext) {

app/aem/core/src/main/java/com/cognifide/apm/core/ui/models/ScriptsRowModel.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
*/
2020
package com.cognifide.apm.core.ui.models;
2121

22-
import static org.apache.commons.lang3.StringUtils.defaultIfEmpty;
23-
2422
import com.cognifide.apm.api.scripts.Script;
2523
import com.cognifide.apm.core.history.History;
2624
import com.cognifide.apm.core.history.HistoryEntry;
@@ -81,7 +79,7 @@ public final class ScriptsRowModel {
8179
@PostConstruct
8280
private void afterCreated() {
8381
this.isFolder = isFolder(resource);
84-
this.scriptName = defaultIfEmpty(getProperty(resource, JcrConstants.JCR_TITLE), resource.getName());
82+
this.scriptName = StringUtils.defaultIfEmpty(getProperty(resource, JcrConstants.JCR_TITLE), resource.getName());
8583
if (!isFolder) {
8684
Optional.ofNullable(resource.adaptTo(ScriptModel.class)).ifPresent(script -> {
8785
ScriptHistory scriptHistory = history.findScriptHistory(resource.getResourceResolver(), script);

app/aem/ui.apps.base/src/main/content/jcr_root/apps/apm/components/historyRow/historyRow.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@
2929
<a href="${item.scriptContentPath}" download="${item.scriptName}"
3030
style="text-decoration:none; color:#4b4b4b">${item.scriptName}</a>
3131
</td>
32-
<td is="coral-table-cell" value="${item.executionTime.time || 0}">
33-
<time datetime="${item.executionTime.time || 0}"
34-
data-sly-test="${item.executionTime}"
32+
<td is="coral-table-cell" value="${item.executionTime.timeInMillis || 0}">
33+
<time data-sly-test="${item.executionTime}" datetime="${item.executionTime.timeInMillis || 0}"
3534
data-sly-use.execLast="${'com.adobe.cq.xf.ui.DateFormatter' @ date=item.executionTimeCalendar, simpleFormat='yyyy-MM-dd HH:mm:ss'}">
3635
${execLast.date}
3736
</time>

0 commit comments

Comments
 (0)