66
77import java .util .HashSet ;
88import java .util .Set ;
9+ import java .util .concurrent .atomic .AtomicLong ;
910
1011/**
11- * Fluent builder for creating test Role entities with sensible defaults.
12- * This builder simplifies role creation for tests and ensures consistent test data.
13- *
12+ * Fluent builder for creating test Role entities with sensible defaults. This builder simplifies role creation for tests and ensures consistent test
13+ * data.
14+ *
1415 * Example usage:
16+ *
1517 * <pre>
16- * Role adminRole = RoleTestDataBuilder.aRole()
17- * .withName("ROLE_ADMIN")
18- * .withDescription("Administrator role")
19- * .withPrivilege("READ_PRIVILEGE")
20- * .withPrivilege("WRITE_PRIVILEGE")
21- * .build();
18+ * Role adminRole = RoleTestDataBuilder.aRole().withName("ROLE_ADMIN").withDescription("Administrator role").withPrivilege("READ_PRIVILEGE")
19+ * .withPrivilege("WRITE_PRIVILEGE").build();
2220 * </pre>
2321 */
2422public class RoleTestDataBuilder {
25-
23+
2624 private static final AtomicLong idCounter = new AtomicLong (1L );
27-
25+
2826 private Long id ;
2927 private String name ;
3028 private String description ;
3129 private Set <User > users = new HashSet <>();
3230 private Set <Privilege > privileges = new HashSet <>();
3331
3432 private RoleTestDataBuilder () {
35- this .id = idCounter ++ ;
33+ this .id = idCounter . getAndIncrement () ;
3634 this .name = "ROLE_USER" ; // Default role
3735 this .description = "Default user role" ;
3836 }
@@ -48,45 +46,30 @@ public static RoleTestDataBuilder aRole() {
4846 * Creates a builder for a default user role.
4947 */
5048 public static RoleTestDataBuilder aUserRole () {
51- return new RoleTestDataBuilder ()
52- .withName ("ROLE_USER" )
53- .withDescription ("Standard user role" )
54- .withPrivilege ("READ_PRIVILEGE" );
49+ return new RoleTestDataBuilder ().withName ("ROLE_USER" ).withDescription ("Standard user role" ).withPrivilege ("READ_PRIVILEGE" );
5550 }
5651
5752 /**
5853 * Creates a builder for an admin role.
5954 */
6055 public static RoleTestDataBuilder anAdminRole () {
61- return new RoleTestDataBuilder ()
62- .withName ("ROLE_ADMIN" )
63- .withDescription ("Administrator role" )
64- .withPrivilege ("READ_PRIVILEGE" )
65- .withPrivilege ("WRITE_PRIVILEGE" )
66- .withPrivilege ("DELETE_PRIVILEGE" )
67- .withPrivilege ("ADMIN_PRIVILEGE" );
56+ return new RoleTestDataBuilder ().withName ("ROLE_ADMIN" ).withDescription ("Administrator role" ).withPrivilege ("READ_PRIVILEGE" )
57+ .withPrivilege ("WRITE_PRIVILEGE" ).withPrivilege ("DELETE_PRIVILEGE" ).withPrivilege ("ADMIN_PRIVILEGE" );
6858 }
6959
7060 /**
7161 * Creates a builder for a moderator role.
7262 */
7363 public static RoleTestDataBuilder aModeratorRole () {
74- return new RoleTestDataBuilder ()
75- .withName ("ROLE_MODERATOR" )
76- .withDescription ("Moderator role" )
77- .withPrivilege ("READ_PRIVILEGE" )
78- .withPrivilege ("WRITE_PRIVILEGE" )
79- .withPrivilege ("MODERATE_PRIVILEGE" );
64+ return new RoleTestDataBuilder ().withName ("ROLE_MODERATOR" ).withDescription ("Moderator role" ).withPrivilege ("READ_PRIVILEGE" )
65+ .withPrivilege ("WRITE_PRIVILEGE" ).withPrivilege ("MODERATE_PRIVILEGE" );
8066 }
8167
8268 /**
8369 * Creates a builder for a guest role.
8470 */
8571 public static RoleTestDataBuilder aGuestRole () {
86- return new RoleTestDataBuilder ()
87- .withName ("ROLE_GUEST" )
88- .withDescription ("Guest role with limited access" )
89- .withPrivilege ("READ_PRIVILEGE" );
72+ return new RoleTestDataBuilder ().withName ("ROLE_GUEST" ).withDescription ("Guest role with limited access" ).withPrivilege ("READ_PRIVILEGE" );
9073 }
9174
9275 public RoleTestDataBuilder withId (Long id ) {
@@ -157,13 +140,12 @@ public Role build() {
157140 role .setDescription (description );
158141 role .setUsers (users );
159142 role .setPrivileges (privileges );
160-
143+
161144 return role ;
162145 }
163146
164147 /**
165- * Builds a set containing the configured role.
166- * Useful for methods expecting a set of roles.
148+ * Builds a set containing the configured role. Useful for methods expecting a set of roles.
167149 */
168150 public Set <Role > buildAsSet () {
169151 return Set .of (build ());
@@ -173,10 +155,6 @@ public Set<Role> buildAsSet() {
173155 * Creates a standard set of roles (USER, ADMIN, MODERATOR).
174156 */
175157 public static Set <Role > buildStandardRoles () {
176- return Set .of (
177- aUserRole ().build (),
178- anAdminRole ().build (),
179- aModeratorRole ().build ()
180- );
158+ return Set .of (aUserRole ().build (), anAdminRole ().build (), aModeratorRole ().build ());
181159 }
182- }
160+ }
0 commit comments