diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmEmailListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmEmailListener.java new file mode 100644 index 000000000..73517da7b --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmEmailListener.java @@ -0,0 +1,107 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Lob; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_confirm_email_listener") +public class ConfirmEmailListener + extends ProcessListener + implements Serializable { + + private static final long serialVersionUID = -7009695795355273248L; + + @Column(name = "from_email") + private String fromEmail; + + @Column(name = "subject") + private String subject; + + @Column(name = "body") + @Lob + private String body; + + public String getFromEmail() { + return fromEmail; + } + + public void setFromEmail(final String fromEmail) { + this.fromEmail = fromEmail; + } + + public String getSubject() { + return subject; + } + + public void setSubject(final String subject) { + this.subject = subject; + } + + public String getBody() { + return body; + } + + public void setBody(final String body) { + this.body = body; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 19 * hash + Objects.hashCode(this.fromEmail); + hash = 19 * hash + Objects.hashCode(this.subject); + hash = 19 * hash + Objects.hashCode(this.body); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final ConfirmEmailListener other = (ConfirmEmailListener) obj; + if (!other.canEqual(this)) { + return false; + } + + if (!Objects.equals(this.fromEmail, other.fromEmail)) { + return false; + } + if (!Objects.equals(this.subject, other.subject)) { + return false; + } + return Objects.equals(this.body, other.body); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof ConfirmEmailListener; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", fromEmail = \"%s\"," + + "subject = \"%s\", ", + fromEmail, + subject, + data)); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmRedirectListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmRedirectListener.java new file mode 100644 index 000000000..ca61bbf5b --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/ConfirmRedirectListener.java @@ -0,0 +1,73 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_confirm_redirect_listeners") +public class ConfirmRedirectListener + extends ProcessListener + implements Serializable { + + private static final long serialVersionUID = 7891034630202555922L; + + @Column(name = "url") + private String url; + + public String getUrl() { + return url; + } + + public void setUrl(final String url) { + this.url = url; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 97 * hash + Objects.hashCode(this.url); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final ConfirmRedirectListener other = (ConfirmRedirectListener) obj; + if (!other.canEqual(this)) { + return false; + } + + return Objects.equals(this.url, other.url); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof ConfirmRedirectListener; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", url = \"%s\"%s", + url, + data)); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/RemoteServerPostListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/RemoteServerPostListener.java new file mode 100644 index 000000000..ed7c308e7 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/RemoteServerPostListener.java @@ -0,0 +1,66 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.Entity; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_remote_server_post_listener") +public class RemoteServerPostListener + extends ProcessListener + implements Serializable { + + private static final long serialVersionUID = 7095242410811956838L; + + private String remoteUrl; + + public String getRemoteUrl() { + return remoteUrl; + } + + public void setRemoteUrl(final String remoteUrl) { + this.remoteUrl = remoteUrl; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 37 * hash + Objects.hashCode(this.remoteUrl); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final RemoteServerPostListener other = (RemoteServerPostListener) obj; + if (!other.canEqual(this)) { + return false; + } + + return Objects.equals(this.remoteUrl, other.remoteUrl); + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", remoteUrl = \"%s\"%s", + remoteUrl, + data)); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/SimpleEmailListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/SimpleEmailListener.java new file mode 100644 index 000000000..7f954e150 --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/SimpleEmailListener.java @@ -0,0 +1,49 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import org.hibernate.annotations.CollectionId; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_simple_email_listeners") +public class SimpleEmailListener + extends ProcessListener + implements Serializable { + + @Column(name = "recipient") + private String recipient; + + @Column(name = "subject") + private String subject; + + public String getRecipient() { + return recipient; + } + + public void setRecipient(final String recipient) { + this.recipient = recipient; + } + + public String getSubject() { + return subject; + } + + public void setSubject(final String subject) { + this.subject = subject; + } + + + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/TemplateEmailListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/TemplateEmailListener.java new file mode 100644 index 000000000..1875a541e --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/TemplateEmailListener.java @@ -0,0 +1,107 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Lob; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_template_email_listeners") +public class TemplateEmailListener + extends ProcessListener + implements Serializable { + + private static final long serialVersionUID = -4476860960485494976L; + + @Column(name = "recipient") + private String recipient; + + @Column(name = "subject") + private String subject; + + @Column(name = "body") + @Lob + private String body; + + public String getRecipient() { + return recipient; + } + + public void setRecipient(final String recipient) { + this.recipient = recipient; + } + + public String getSubject() { + return subject; + } + + public void setSubject(final String subject) { + this.subject = subject; + } + + public String getBody() { + return body; + } + + public void setBody(final String body) { + this.body = body; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 67 * hash + Objects.hashCode(this.recipient); + hash = 67 * hash + Objects.hashCode(this.subject); + hash = 67 * hash + Objects.hashCode(this.body); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final TemplateEmailListener other = (TemplateEmailListener) obj; + if (!other.canEqual(this)) { + return false; + } + + if (!Objects.equals(this.recipient, other.recipient)) { + return false; + } + if (!Objects.equals(this.subject, other.subject)) { + return false; + } + return Objects.equals(this.body, other.body); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof TemplateEmailListener; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", recipient = \"%s\", " + + "subject = \"%s\"%s", + recipient, + subject, + data)); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlEmailListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlEmailListener.java new file mode 100644 index 000000000..d8a33be0e --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlEmailListener.java @@ -0,0 +1,88 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import java.util.Objects; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_xml_email_listeners") +public class XmlEmailListener extends ProcessListener implements Serializable { + + private static final long serialVersionUID = -4607965414018004925L; + + @Column(name = "recipient") + private String recipient; + + @Column(name = "subject") + private String subject; + + public String getRecipient() { + return recipient; + } + + public void setRecipient(final String recipient) { + this.recipient = recipient; + } + + public String getSubject() { + return subject; + } + + public void setSubject(final String subject) { + this.subject = subject; + } + + @Override + public int hashCode() { + int hash = super.hashCode(); + hash = 59 * hash + Objects.hashCode(this.recipient); + hash = 59 * hash + Objects.hashCode(this.subject); + return hash; + } + + @Override + public boolean equals(final Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final XmlEmailListener other = (XmlEmailListener) obj; + if (!other.canEqual(this)) { + return false; + } + + if (!Objects.equals(this.recipient, other.recipient)) { + return false; + } + return Objects.equals(this.subject, other.subject); + } + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof XmlEmailListener; + } + + @Override + public String toString(final String data) { + return super.toString(String.format(", recipient = \"%s\", " + + "subject = \"%s\"%s", + recipient, + subject, + data)); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlListener.java new file mode 100644 index 000000000..e85ccd7db --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/actions/XmlListener.java @@ -0,0 +1,28 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.formbuilder.actions; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.Table; +import org.libreccm.formbuilder.ProcessListener; + +/** + * + * @author Jens Pelzetter + */ +@Entity +@Table(name = "formbuilder_xml_listeners") +public class XmlListener extends ProcessListener implements Serializable { + + private static final long serialVersionUID = -8674849210363260180L; + + @Override + public boolean canEqual(final Object obj) { + return obj instanceof XmlListener; + } + +} diff --git a/ccm-core/src/test/java/org/libreccm/core/CategorizationEntitiesTest.java b/ccm-core/src/test/java/org/libreccm/core/CategorizationEntitiesTest.java new file mode 100644 index 000000000..203758a71 --- /dev/null +++ b/ccm-core/src/test/java/org/libreccm/core/CategorizationEntitiesTest.java @@ -0,0 +1,39 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.core; + +import java.util.Arrays; +import java.util.Collection; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.libreccm.categorization.Categorization; +import org.libreccm.categorization.Domain; +import org.libreccm.categorization.DomainOwnership; +import org.libreccm.tests.categories.UnitTest; + +/** + * + * @author Jens Pelzetter + */ +@RunWith(Parameterized.class) +@Category(UnitTest.class) +public class CategorizationEntitiesTest extends EntitiesTestCore { + + @Parameterized.Parameters + public static Collection> data() { + return Arrays.asList(new Class[]{ + Categorization.class, + org.libreccm.categorization.Category.class, + Domain.class, + DomainOwnership.class}); + } + + public CategorizationEntitiesTest(final Class entitiesClass) { + super(entitiesClass); + } + +} diff --git a/ccm-core/src/test/java/org/libreccm/core/CcmCoreEntitiesTest.java b/ccm-core/src/test/java/org/libreccm/core/CcmCoreEntitiesTest.java new file mode 100644 index 000000000..c72eb6948 --- /dev/null +++ b/ccm-core/src/test/java/org/libreccm/core/CcmCoreEntitiesTest.java @@ -0,0 +1,45 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.core; + +import java.util.Arrays; +import java.util.Collection; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.libreccm.tests.categories.UnitTest; + +/** + * The tests in this class are used to verify the implementations of the + * {@code equals}, {@code hashCode} and {@code toString} methods of the entities + * in the {@code org.libreccm.core} package. + * + * @author Jens Pelzetter + */ +@RunWith(Parameterized.class) +@Category(UnitTest.class) +public class CcmCoreEntitiesTest extends EntitiesTestCore { + + @Parameterized.Parameters + public static Collection> data() { + return Arrays.asList(new Class[]{ + CcmObject.class, + EmailAddress.class, + GroupMembership.class, + Party.class, + Permission.class, + PersonName.class, + Privilege.class, + Resource.class, + Role.class, + User.class, + UserGroup.class}); + } + + public CcmCoreEntitiesTest(final Class entityClass) { + super(entityClass); + } +} diff --git a/ccm-core/src/test/java/org/libreccm/core/EntitiesTestCore.java b/ccm-core/src/test/java/org/libreccm/core/EntitiesTestCore.java new file mode 100644 index 000000000..eb035e318 --- /dev/null +++ b/ccm-core/src/test/java/org/libreccm/core/EntitiesTestCore.java @@ -0,0 +1,32 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.libreccm.core; + +import nl.jqno.equalsverifier.EqualsVerifier; +import nl.jqno.equalsverifier.Warning; +import org.junit.Test; + +/** + * + * @author Jens Pelzetter + */ +public class EntitiesTestCore { + + private final Class entityClass; + + public EntitiesTestCore(final Class entityClass) { + this.entityClass = entityClass; + } + + @Test + public void verifyEqualsAndHashCode() { + EqualsVerifier + .forClass(entityClass) + .suppress(Warning.STRICT_INHERITANCE) + .withRedefinedSuperclass() + .verify(); + } +}