Skip to content

Commit ddd831c

Browse files
committed
WIP_BUILDERS
1 parent 5cc246e commit ddd831c

File tree

84 files changed

+821
-958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+821
-958
lines changed

commons/src/main/java/com/deftdevs/bootstrapi/commons/model/AbstractDirectoryModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.fasterxml.jackson.annotation.JsonTypeInfo;
66
import io.swagger.v3.oas.annotations.media.Schema;
77
import lombok.Data;
8-
import lombok.NoArgsConstructor;
8+
import lombok.experimental.SuperBuilder;
99

1010
import javax.validation.constraints.NotNull;
1111
import javax.xml.bind.annotation.XmlElement;
@@ -16,7 +16,7 @@
1616
* Model for user directory settings in REST requests.
1717
*/
1818
@Data
19-
@NoArgsConstructor
19+
@SuperBuilder
2020
@XmlRootElement
2121
@JsonTypeInfo(
2222
use = JsonTypeInfo.Id.NAME,

commons/src/main/java/com/deftdevs/bootstrapi/commons/model/AbstractMailServerProtocolModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.fasterxml.jackson.annotation.JsonIgnore;
44
import lombok.Data;
5-
import lombok.NoArgsConstructor;
5+
import lombok.experimental.SuperBuilder;
66
import org.apache.commons.lang3.StringUtils;
77
import org.apache.commons.lang3.builder.EqualsExclude;
88
import org.apache.commons.lang3.builder.HashCodeExclude;
99

1010
import javax.xml.bind.annotation.XmlElement;
1111

1212
@Data
13-
@NoArgsConstructor
13+
@SuperBuilder(toBuilder = true)
1414
public abstract class AbstractMailServerProtocolModel {
1515

1616
public static final Long DEFAULT_TIMEOUT = 10000L;

commons/src/main/java/com/deftdevs/bootstrapi/commons/model/ApplicationLinkModel.java

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.deftdevs.bootstrapi.commons.constants.BootstrAPI;
44
import lombok.Data;
5-
import lombok.NoArgsConstructor;
5+
import lombok.Builder;
66

77
import javax.validation.constraints.NotNull;
88
import javax.xml.bind.annotation.XmlElement;
@@ -14,7 +14,7 @@
1414
* Model for an application link in REST requests.
1515
*/
1616
@Data
17-
@NoArgsConstructor
17+
@Builder
1818
@XmlRootElement(name = BootstrAPI.APPLICATION_LINK)
1919
public class ApplicationLinkModel {
2020

@@ -72,18 +72,15 @@ public enum ApplicationLinkStatus {
7272

7373
// Example instances for documentation and tests
7474

75-
public static final ApplicationLinkModel EXAMPLE_1;
76-
77-
static {
78-
EXAMPLE_1 = new ApplicationLinkModel();
79-
EXAMPLE_1.setUuid(UUID.randomUUID());
80-
EXAMPLE_1.setName("Example");
81-
EXAMPLE_1.setDisplayUrl(URI.create("http://example.com"));
82-
EXAMPLE_1.setRpcUrl(URI.create("http://rpc.example.com"));
83-
EXAMPLE_1.setOutgoingAuthType(ApplicationLinkAuthType.OAUTH);
84-
EXAMPLE_1.setIncomingAuthType(ApplicationLinkAuthType.OAUTH);
85-
EXAMPLE_1.setPrimary(true);
86-
EXAMPLE_1.setType(ApplicationLinkType.JIRA);
87-
}
75+
public static final ApplicationLinkModel EXAMPLE_1 = ApplicationLinkModel.builder()
76+
.uuid(UUID.randomUUID())
77+
.name("Example")
78+
.displayUrl(URI.create("http://example.com"))
79+
.rpcUrl(URI.create("http://rpc.example.com"))
80+
.outgoingAuthType(ApplicationLinkAuthType.OAUTH)
81+
.incomingAuthType(ApplicationLinkAuthType.OAUTH)
82+
.primary(true)
83+
.type(ApplicationLinkType.JIRA)
84+
.build();
8885

8986
}

commons/src/main/java/com/deftdevs/bootstrapi/commons/model/DirectoryCrowdModel.java

Lines changed: 43 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import com.deftdevs.bootstrapi.commons.constants.BootstrAPI;
44
import lombok.Data;
55
import lombok.EqualsAndHashCode;
6-
import lombok.NoArgsConstructor;
6+
import lombok.experimental.SuperBuilder;
7+
import lombok.Builder;
78

89
import javax.validation.constraints.NotNull;
910
import javax.xml.bind.annotation.XmlElement;
@@ -14,7 +15,7 @@
1415
* Model for user directory settings in REST requests.
1516
*/
1617
@Data
17-
@NoArgsConstructor
18+
@SuperBuilder
1819
@EqualsAndHashCode(callSuper = true)
1920
@XmlRootElement(name = BootstrAPI.DIRECTORY + '-' + BootstrAPI.DIRECTORY_CROWD)
2021
public class DirectoryCrowdModel extends AbstractDirectoryModel {
@@ -29,7 +30,7 @@ public class DirectoryCrowdModel extends AbstractDirectoryModel {
2930
private DirectoryCrowdAdvanced advanced;
3031

3132
@Data
32-
@NoArgsConstructor
33+
@Builder
3334
public static class DirectoryCrowdServer {
3435

3536
@XmlElement
@@ -54,7 +55,7 @@ public static class DirectoryCrowdServer {
5455
private Integer maxConnections;
5556

5657
@Data
57-
@NoArgsConstructor
58+
@Builder
5859
public static class DirectoryCrowdServerProxy {
5960

6061
@XmlElement
@@ -72,7 +73,7 @@ public static class DirectoryCrowdServerProxy {
7273
}
7374

7475
@Data
75-
@NoArgsConstructor
76+
@Builder
7677
public static class DirectoryCrowdPermissions {
7778

7879
@XmlElement
@@ -83,7 +84,7 @@ public static class DirectoryCrowdPermissions {
8384
}
8485

8586
@Data
86-
@NoArgsConstructor
87+
@Builder
8788
public static class DirectoryCrowdAdvanced {
8889

8990
@XmlElement
@@ -101,48 +102,41 @@ public static class DirectoryCrowdAdvanced {
101102

102103
// Example instances for documentation and tests
103104

104-
public static final DirectoryCrowdModel EXAMPLE_1;
105-
106-
static {
107-
EXAMPLE_1 = new DirectoryCrowdModel();
108-
EXAMPLE_1.setName("example");
109-
EXAMPLE_1.setServer(new DirectoryCrowdServer());
110-
EXAMPLE_1.getServer().setUrl(URI.create("https://crowd.example.com"));
111-
EXAMPLE_1.getServer().setAppPassword("p455w0rd");
112-
}
113-
114-
public static final DirectoryCrowdModel EXAMPLE_1_WITH_PROXY;
115-
116-
static {
117-
EXAMPLE_1_WITH_PROXY = new DirectoryCrowdModel();
118-
EXAMPLE_1_WITH_PROXY.setName("example");
119-
EXAMPLE_1_WITH_PROXY.setServer(new DirectoryCrowdServer());
120-
EXAMPLE_1_WITH_PROXY.getServer().setUrl(URI.create("https://crowd.example.com"));
121-
EXAMPLE_1_WITH_PROXY.getServer().setAppPassword("p433w0rd");
122-
EXAMPLE_1_WITH_PROXY.getServer().setProxy(new DirectoryCrowdServer.DirectoryCrowdServerProxy());
123-
EXAMPLE_1_WITH_PROXY.getServer().getProxy().setHost("proxy.example.com");
124-
EXAMPLE_1_WITH_PROXY.getServer().getProxy().setUsername("user");
125-
EXAMPLE_1_WITH_PROXY.getServer().getProxy().setPassword("pass");
126-
}
127-
128-
public static final DirectoryCrowdModel EXAMPLE_2;
129-
130-
static {
131-
EXAMPLE_2 = new DirectoryCrowdModel();
132-
EXAMPLE_2.setName("example2");
133-
EXAMPLE_2.setServer(new DirectoryCrowdServer());
134-
EXAMPLE_2.getServer().setUrl(URI.create("https://crowd2.example.com"));
135-
EXAMPLE_2.getServer().setAppPassword("0th3r");
136-
}
137-
138-
public static final DirectoryCrowdModel EXAMPLE_3;
139-
140-
static {
141-
EXAMPLE_3 = new DirectoryCrowdModel();
142-
EXAMPLE_3.setName("example other");
143-
EXAMPLE_3.setServer(new DirectoryCrowdServer());
144-
EXAMPLE_3.getServer().setUrl(URI.create("https://crowd3.example.com"));
145-
EXAMPLE_3.getServer().setAppPassword("p466w0rd");
146-
}
105+
public static final DirectoryCrowdModel EXAMPLE_1 = DirectoryCrowdModel.builder()
106+
.name("example")
107+
.server(DirectoryCrowdServer.builder()
108+
.url(URI.create("https://crowd.example.com"))
109+
.appPassword("p455w0rd")
110+
.build())
111+
.build();
112+
113+
public static final DirectoryCrowdModel EXAMPLE_1_WITH_PROXY = DirectoryCrowdModel.builder()
114+
.name("example")
115+
.server(DirectoryCrowdServer.builder()
116+
.url(URI.create("https://crowd.example.com"))
117+
.appPassword("p433w0rd")
118+
.proxy(DirectoryCrowdServer.DirectoryCrowdServerProxy.builder()
119+
.host("proxy.example.com")
120+
.username("user")
121+
.password("pass")
122+
.build())
123+
.build())
124+
.build();
125+
126+
public static final DirectoryCrowdModel EXAMPLE_2 = DirectoryCrowdModel.builder()
127+
.name("example2")
128+
.server(DirectoryCrowdServer.builder()
129+
.url(URI.create("https://crowd2.example.com"))
130+
.appPassword("0th3r")
131+
.build())
132+
.build();
133+
134+
public static final DirectoryCrowdModel EXAMPLE_3 = DirectoryCrowdModel.builder()
135+
.name("example other")
136+
.server(DirectoryCrowdServer.builder()
137+
.url(URI.create("https://crowd3.example.com"))
138+
.appPassword("p466w0rd")
139+
.build())
140+
.build();
147141

148142
}

commons/src/main/java/com/deftdevs/bootstrapi/commons/model/DirectoryDelegatingModel.java

Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
import com.deftdevs.bootstrapi.commons.model.type.DirectoryPermissions;
55
import lombok.Data;
66
import lombok.EqualsAndHashCode;
7-
import lombok.NoArgsConstructor;
7+
import lombok.experimental.SuperBuilder;
8+
import lombok.Builder;
89

910
import javax.xml.bind.annotation.XmlElement;
1011
import javax.xml.bind.annotation.XmlRootElement;
1112

1213
@Data
13-
@NoArgsConstructor
14+
@SuperBuilder
1415
@EqualsAndHashCode(callSuper = true)
1516
@XmlRootElement(name = BootstrAPI.DIRECTORY + '-' + BootstrAPI.DIRECTORY_DELEGATING)
1617
public class DirectoryDelegatingModel extends AbstractDirectoryModel {
@@ -28,7 +29,7 @@ public class DirectoryDelegatingModel extends AbstractDirectoryModel {
2829
// current (unimplemented) behaviour is LDAP connection pooling: JNDI
2930

3031
@Data
31-
@NoArgsConstructor
32+
@Builder
3233
public static class DirectoryDelegatingConnector {
3334

3435
@XmlElement
@@ -84,19 +85,17 @@ public static class DirectoryDelegatingConnector {
8485

8586
public enum ConnectorType {
8687
MICROSOFT_ACTIVE_DIRECTORY,
87-
;
8888
}
8989

9090
public enum SslType {
9191
NONE,
9292
LDAPS,
9393
START_TLS,
94-
;
9594
}
9695
}
9796

9897
@Data
99-
@NoArgsConstructor
98+
@Builder
10099
public static class DirectoryDelegatingConfiguration {
101100

102101
@XmlElement
@@ -153,59 +152,59 @@ public static class DirectoryDelegatingConfiguration {
153152

154153
// Example instances for documentation and tests
155154

156-
public static final DirectoryDelegatingModel EXAMPLE_1;
157-
158-
static {
159-
EXAMPLE_1 = new DirectoryDelegatingModel();
160-
EXAMPLE_1.setId(1L);
161-
EXAMPLE_1.setName("Example");
162-
EXAMPLE_1.setActive(true);
163-
EXAMPLE_1.setDescription("Example Directory");
164-
EXAMPLE_1.setConnector(new DirectoryDelegatingConnector());
165-
EXAMPLE_1.getConnector().setType(DirectoryDelegatingConnector.ConnectorType.MICROSOFT_ACTIVE_DIRECTORY);
166-
EXAMPLE_1.getConnector().setUrl("ldaps://example.com:636");
167-
EXAMPLE_1.getConnector().setSsl(DirectoryDelegatingConnector.SslType.LDAPS);
168-
EXAMPLE_1.getConnector().setUseNodeReferrals(false);
169-
EXAMPLE_1.getConnector().setNestedGroupsDisabled(true);
170-
EXAMPLE_1.getConnector().setSynchronizeUsers(false);
171-
EXAMPLE_1.getConnector().setSynchronizeUserDetails(false);
172-
EXAMPLE_1.getConnector().setSynchronizeGroupMemberships(false);
173-
EXAMPLE_1.getConnector().setUseUserMembershipAttribute(false);
174-
EXAMPLE_1.getConnector().setUsePagedResults(true);
175-
EXAMPLE_1.getConnector().setPagedResultsSize(999L);
176-
EXAMPLE_1.getConnector().setReadTimeoutInMillis(120000L);
177-
EXAMPLE_1.getConnector().setSearchTimeoutInMillis(60000L);
178-
EXAMPLE_1.getConnector().setConnectionTimeoutInMillis(10000L);
179-
EXAMPLE_1.getConnector().setBaseDn("DC=example,DC=com");
180-
EXAMPLE_1.getConnector().setUsername("domain\\example");
181-
EXAMPLE_1.getConnector().setPassword("p455w0rd");
182-
EXAMPLE_1.setConfiguration(new DirectoryDelegatingConfiguration());
183-
EXAMPLE_1.getConfiguration().setUserDn("");
184-
EXAMPLE_1.getConfiguration().setUserObjectClass("user");
185-
EXAMPLE_1.getConfiguration().setUserObjectFilter("(objectClass=user)");
186-
EXAMPLE_1.getConfiguration().setUserNameAttribute("sAMAccountName");
187-
EXAMPLE_1.getConfiguration().setUserNameRdnAttribute("cn");
188-
EXAMPLE_1.getConfiguration().setUserFirstNameAttribute("givenName");
189-
EXAMPLE_1.getConfiguration().setUserLastNameAttribute("sn");
190-
EXAMPLE_1.getConfiguration().setUserDisplayNameAttribute("displayName");
191-
EXAMPLE_1.getConfiguration().setUserEmailAttribute("email");
192-
EXAMPLE_1.getConfiguration().setUserGroupAttribute("memberOf");
193-
EXAMPLE_1.getConfiguration().setUserUniqueIdAttribute("userID");
194-
EXAMPLE_1.getConfiguration().setGroupDn("");
195-
EXAMPLE_1.getConfiguration().setGroupObjectClass("group");
196-
EXAMPLE_1.getConfiguration().setGroupObjectFilter("(objectClass=group)");
197-
EXAMPLE_1.getConfiguration().setGroupNameAttribute("gn");
198-
EXAMPLE_1.getConfiguration().setGroupDescriptionAttribute("description");
199-
EXAMPLE_1.getConfiguration().setGroupMembersAttribute("member");
200-
EXAMPLE_1.setPermissions(new DirectoryPermissions());
201-
EXAMPLE_1.getPermissions().setAddGroup(true);
202-
EXAMPLE_1.getPermissions().setAddUser(true);
203-
EXAMPLE_1.getPermissions().setModifyGroup(true);
204-
EXAMPLE_1.getPermissions().setModifyUser(true);
205-
EXAMPLE_1.getPermissions().setModifyGroupAttributes(true);
206-
EXAMPLE_1.getPermissions().setModifyUserAttributes(true);
207-
EXAMPLE_1.getPermissions().setRemoveGroup(true);
208-
EXAMPLE_1.getPermissions().setRemoveUser(true);
209-
}
155+
public static final DirectoryDelegatingModel EXAMPLE_1 = DirectoryDelegatingModel.builder()
156+
.id(1L)
157+
.name("Example")
158+
.active(true)
159+
.description("Example Directory")
160+
.connector(DirectoryDelegatingConnector.builder()
161+
.type(DirectoryDelegatingConnector.ConnectorType.MICROSOFT_ACTIVE_DIRECTORY)
162+
.url("ldaps://example.com:636")
163+
.ssl(DirectoryDelegatingConnector.SslType.LDAPS)
164+
.useNodeReferrals(false)
165+
.nestedGroupsDisabled(true)
166+
.synchronizeUsers(false)
167+
.synchronizeUserDetails(false)
168+
.synchronizeGroupMemberships(false)
169+
.useUserMembershipAttribute(false)
170+
.usePagedResults(true)
171+
.pagedResultsSize(999L)
172+
.readTimeoutInMillis(120000L)
173+
.searchTimeoutInMillis(60000L)
174+
.connectionTimeoutInMillis(10000L)
175+
.baseDn("DC=example,DC=com")
176+
.username("domain\\example")
177+
.password("p455w0rd")
178+
.build())
179+
.configuration(DirectoryDelegatingConfiguration.builder()
180+
.userDn("")
181+
.userObjectClass("user")
182+
.userObjectFilter("(objectClass=user)")
183+
.userNameAttribute("sAMAccountName")
184+
.userNameRdnAttribute("cn")
185+
.userFirstNameAttribute("givenName")
186+
.userLastNameAttribute("sn")
187+
.userDisplayNameAttribute("displayName")
188+
.userEmailAttribute("email")
189+
.userGroupAttribute("memberOf")
190+
.userUniqueIdAttribute("userID")
191+
.groupDn("")
192+
.groupObjectClass("group")
193+
.groupObjectFilter("(objectClass=group)")
194+
.groupNameAttribute("gn")
195+
.groupDescriptionAttribute("description")
196+
.groupMembersAttribute("member")
197+
.build())
198+
.permissions(DirectoryPermissions.builder()
199+
.addGroup(true)
200+
.addUser(true)
201+
.modifyGroup(true)
202+
.modifyUser(true)
203+
.modifyGroupAttributes(true)
204+
.modifyUserAttributes(true)
205+
.removeGroup(true)
206+
.removeUser(true)
207+
.build())
208+
.build();
210209

211210
}

0 commit comments

Comments
 (0)