Skip to content

Commit 6440600

Browse files
authored
Merge pull request #396 from wttech/actions-checks
refactor :app:aem:actions.checks module
2 parents 566e977 + df1fd70 commit 6440600

File tree

11 files changed

+84
-19
lines changed

11 files changed

+84
-19
lines changed

app/aem/actions.checks/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ aem {
2222
val currentVersion = rootProject.version as String
2323
version.set(currentVersion)
2424
description.set(project.description)
25-
property("dependencies", "com.cognifide.apm:apm-ui.apps:" + currentVersion.substringBefore("-SNAPSHOT"))
2625
}
2726
}
2827
jar {

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/exclude/CheckExcludesMapper.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2526
import com.cognifide.apm.checks.actions.ActionGroup;
2627
import java.util.Collections;
2728
import java.util.List;
@@ -32,16 +33,22 @@ public final class CheckExcludesMapper {
3233
public static final String REFERENCE = "Verify that provided group DOES NOT contain any of listed authorizables.";
3334

3435
@Mapping(
36+
examples = "CHECK-EXCLUDES 'authors' 'author'",
3537
reference = REFERENCE
3638
)
37-
public Action mapAction(String group, String id) {
39+
public Action mapAction(
40+
@Required(value = "group", description = "group's id e.g.: 'authors'") String group,
41+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id) {
3842
return mapAction(group, Collections.singletonList(id));
3943
}
4044

4145
@Mapping(
46+
examples = "CHECK-EXCLUDES 'authors' ['author']",
4247
reference = REFERENCE
4348
)
44-
public Action mapAction(String group, List<String> ids) {
49+
public Action mapAction(
50+
@Required(value = "group", description = "group's id e.g.: 'authors'") String group,
51+
@Required(value = "ids", description = "users' or groups' ids e.g.: ['author']") List<String> ids) {
4552
return new CheckExcludes(group, ids);
4653
}
4754
}

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/exists/CheckGroupExistsMapper.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25-
import com.cognifide.apm.api.actions.annotations.Named;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2626
import com.cognifide.apm.checks.actions.ActionGroup;
2727

2828
@Mapper(value = "CHECK-GROUP-EXISTS", group = ActionGroup.CHECKS)
@@ -32,9 +32,21 @@ public final class CheckGroupExistsMapper {
3232
+ " Optionally it can be used to verify that given group resides in specific path.";
3333

3434
@Mapping(
35+
examples = "CHECK-GROUP-EXISTS 'authors'",
3536
reference = REFERENCE
3637
)
37-
public Action mapAction(String id, @Named("path") String path) {
38+
public Action mapAction(
39+
@Required(value = "id", description = "group's id e.g.: 'authors'") String id) {
40+
return mapAction(id, null);
41+
}
42+
43+
@Mapping(
44+
examples = "CHECK-GROUP-EXISTS 'authors' '/home/groups/client/domain'",
45+
reference = REFERENCE
46+
)
47+
public Action mapAction(
48+
@Required(value = "id", description = "group's id e.g.: 'authors'") String id,
49+
@Required(value = "path", description = "group's home e.g.: '/home/groups/client/domain'") String path) {
3850
return new CheckAuthorizableExists(id, path, true);
3951
}
4052

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/exists/CheckUserExistsMapper.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25-
import com.cognifide.apm.api.actions.annotations.Named;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2626
import com.cognifide.apm.checks.actions.ActionGroup;
2727

2828
@Mapper(value = "CHECK-USER-EXISTS", group = ActionGroup.CHECKS)
@@ -32,9 +32,21 @@ public final class CheckUserExistsMapper {
3232
+ " Optionally it can be used to verify that given user resides in specific path.";
3333

3434
@Mapping(
35+
examples = "CHECK-USER-EXISTS 'author'",
3536
reference = REFERENCE
3637
)
37-
public Action mapAction(String id, @Named("path") String path) {
38+
public Action mapAction(
39+
@Required(value = "id", description = "user's login e.g.: 'author'") String id) {
40+
return mapAction(id, null);
41+
}
42+
43+
@Mapping(
44+
examples = "CHECK-USER-EXISTS 'author' '/home/users/client/domain'",
45+
reference = REFERENCE
46+
)
47+
public Action mapAction(
48+
@Required(value = "id", description = "user's login e.g.: 'author'") String id,
49+
@Required(value = "path", description = "user's home e.g.: '/home/users/client/domain'") String path) {
3850
return new CheckAuthorizableExists(id, path, false);
3951
}
4052
}

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/include/CheckIncludesMapper.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2526
import com.cognifide.apm.checks.actions.ActionGroup;
2627
import java.util.Collections;
2728
import java.util.List;
@@ -32,16 +33,22 @@ public final class CheckIncludesMapper {
3233
public static final String REFERENCE = "Verify that provided group contains all listed authorizables.";
3334

3435
@Mapping(
36+
examples = "CHECK-INCLUDES 'authors' 'author'",
3537
reference = REFERENCE
3638
)
37-
public Action mapAction(String id, String group) {
38-
return mapAction(id, Collections.singletonList(group));
39+
public Action mapAction(
40+
@Required(value = "group", description = "group's id e.g.: 'authors'") String group,
41+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id) {
42+
return mapAction(group, Collections.singletonList(id));
3943
}
4044

4145
@Mapping(
46+
examples = "CHECK-INCLUDES 'authors' ['author']",
4247
reference = REFERENCE
4348
)
44-
public Action mapAction(String id, List<String> groups) {
45-
return new CheckIncludes(id, groups);
49+
public Action mapAction(
50+
@Required(value = "group", description = "group's id e.g.: 'authors'") String group,
51+
@Required(value = "ids", description = "users' or groups' ids e.g.: ['author']") List<String> ids) {
52+
return new CheckIncludes(group, ids);
4653
}
4754
}

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/notexists/CheckNotExistsMapper.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2526
import com.cognifide.apm.checks.actions.ActionGroup;
2627
import java.util.Collections;
2728
import java.util.List;
@@ -32,16 +33,20 @@ public final class CheckNotExistsMapper {
3233
public static final String REFERENCE = "Verify that specific authorizables do not exist.";
3334

3435
@Mapping(
36+
examples = "CHECK-NOT-EXISTS 'author'",
3537
reference = REFERENCE
3638
)
37-
public Action mapAction(String id) {
39+
public Action mapAction(
40+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id) {
3841
return mapAction(Collections.singletonList(id));
3942
}
4043

4144
@Mapping(
45+
examples = "CHECK-NOT-EXISTS ['author']",
4246
reference = REFERENCE
4347
)
44-
public Action mapAction(List<String> ids) {
48+
public Action mapAction(
49+
@Required(value = "ids", description = "users' or groups' ids e.g.: ['author']") List<String> ids) {
4550
return new CheckNotExists(ids);
4651
}
4752
}

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/password/CheckPasswordMapper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2526
import com.cognifide.apm.checks.actions.ActionGroup;
2627

2728
@Mapper(value = "CHECK-PASSWORD", group = ActionGroup.CHECKS)
@@ -30,9 +31,12 @@ public final class CheckPasswordMapper {
3031
public static final String REFERENCE = "Verify that specific password is set for given authorizable.";
3132

3233
@Mapping(
34+
examples = "CHECK-PASSWORD 'author' 'p@$$w0rd'",
3335
reference = REFERENCE
3436
)
35-
public Action mapAction(String userId, String password) {
36-
return new CheckPassword(userId, password);
37+
public Action mapAction(
38+
@Required(value = "id", description = "user's login e.g.: 'author'") String id,
39+
@Required(value = "password", description = "user's password e.g.: 'p@$$w0rd'") String password) {
40+
return new CheckPassword(id, password);
3741
}
3842
}

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
2525
import com.cognifide.apm.api.actions.annotations.Named;
26+
import com.cognifide.apm.api.actions.annotations.Required;
2627
import com.cognifide.apm.checks.actions.ActionGroup;
28+
import java.util.Collections;
2729
import java.util.List;
2830

2931
@Mapper(value = "CHECK-ALLOW", group = ActionGroup.CHECKS)
@@ -33,9 +35,14 @@ public final class CheckAllowMapper {
3335
+ " on specified path.";
3436

3537
@Mapping(
38+
examples = "CHECK-ALLOW author '/content/dam' [READ, 'jcr:all']",
3639
reference = REFERENCE
3740
)
38-
public Action mapAction(String id, String path, List<String> permissions, @Named("glob") String glob) {
41+
public Action mapAction(
42+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id,
43+
@Required(value = "path", description = "e.g.: '/content/dam'") String path,
44+
@Required(value = "permissions", description = "e.g.: [READ, 'jcr:all']") List<String> permissions,
45+
@Named(value = "glob", description = "regular expression to narrow set of paths") String glob) {
3946
return new CheckPermissions(id, path, glob, permissions, true);
4047
}
4148
}

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Named;
26+
import com.cognifide.apm.api.actions.annotations.Required;
2527
import com.cognifide.apm.checks.actions.ActionGroup;
28+
import java.util.Collections;
2629
import java.util.List;
2730

2831
@Mapper(value = "CHECK-DENY", group = ActionGroup.CHECKS)
@@ -32,9 +35,14 @@ public final class CheckDenyMapper {
3235
+ " on specified path.";
3336

3437
@Mapping(
38+
examples = "CHECK-DENY author '/content/dam' [READ, 'jcr:all']",
3539
reference = REFERENCE
3640
)
37-
public Action mapAction(String id, String path, String glob, List<String> permissions) {
41+
public Action mapAction(
42+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id,
43+
@Required(value = "path", description = "e.g.: '/content/dam'") String path,
44+
@Required(value = "permissions", description = "e.g.: [READ, 'jcr:all']") List<String> permissions,
45+
@Named(value = "glob", description = "regular expression to narrow set of paths") String glob) {
3846
return new CheckPermissions(id, path, glob, permissions, false);
3947
}
4048
}

app/aem/actions.checks/src/main/java/com/cognifide/apm/checks/actions/property/CheckPropertyMapper.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.cognifide.apm.api.actions.Action;
2323
import com.cognifide.apm.api.actions.annotations.Mapper;
2424
import com.cognifide.apm.api.actions.annotations.Mapping;
25+
import com.cognifide.apm.api.actions.annotations.Required;
2526
import com.cognifide.apm.checks.actions.ActionGroup;
2627

2728
@Mapper(value = "CHECK-PROPERTY", group = ActionGroup.CHECKS)
@@ -30,9 +31,13 @@ public final class CheckPropertyMapper {
3031
public static final String REFERENCE = "Verify that a property is set to specific value for given authorizable.";
3132

3233
@Mapping(
34+
examples = "CHECK-PROPERTY 'author' 'title' 'John Doe'",
3335
reference = REFERENCE
3436
)
35-
public Action mapAction(String id, String name, String value) {
37+
public Action mapAction(
38+
@Required(value = "id", description = "users' or groups' id e.g.: 'author'") String id,
39+
@Required(value = "name", description = "property name") String name,
40+
@Required(value = "value", description = "property value") String value) {
3641
return new CheckProperty(id, name, value);
3742
}
3843
}

examples/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ aem {
4040
version.set(currentVersion)
4141
description.set(project.description)
4242
property("installhook.apm.class", "com.cognifide.apm.core.tools.ApmInstallHook")
43-
property("dependencies", "com.cognifide.apm:apm-ui.apps:$currentVersion")
4443
}
4544
}
4645
}

0 commit comments

Comments
 (0)