RM-6125 More useful builder for creating RM site.

Add a private constructor so that Lombok will generate a builder
including the site title and description (which come from a
superclass).
This commit is contained in:
Tom Page
2018-03-02 09:24:28 +00:00
parent ee748e3b68
commit 2faf6dbff6
3 changed files with 11 additions and 8 deletions

View File

@@ -42,7 +42,6 @@ import lombok.NoArgsConstructor;
* @author Rodica Sutu
* @since 2.6
*/
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@@ -51,4 +50,13 @@ public class RMSite extends RestSiteModel
{
@JsonProperty (required = true)
private RMSiteCompliance compliance;
/** Private constructor allowing Lombok to include superclass fields in the builder. */
@Builder
private RMSite(String title, String description, RMSiteCompliance compliance)
{
this.setTitle(title);
this.setDescription(description);
this.compliance = compliance;
}
}

View File

@@ -238,9 +238,7 @@ public class RMSiteTests extends BaseRMRestTest
createRMSiteIfNotExists();
// Create RM site model
RMSite rmSiteToUpdate = RMSite.builder().build();
rmSiteToUpdate.setTitle(NEW_TITLE);
rmSiteToUpdate.setDescription(NEW_DESCRIPTION);
RMSite rmSiteToUpdate = RMSite.builder().title(NEW_TITLE).description(NEW_DESCRIPTION).build();
// Create the RM site
getRestAPIFactory().getRMSiteAPI(getDataUser().createRandomTestUser("testUser")).updateRMSite(rmSiteToUpdate);

View File

@@ -60,10 +60,7 @@ public class RMSiteUtil
*/
public static RMSite createRMSiteModel(RMSiteCompliance compliance, String title, String description)
{
RMSite rmSiteModel = RMSite.builder().compliance(compliance).build();
rmSiteModel.setTitle(title);
rmSiteModel.setDescription(description);
return rmSiteModel;
return RMSite.builder().compliance(compliance).title(title).description(description).build();
}
/**