You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/06/06 09:15:49 UTC
syncope git commit: Added Exception for existing key (SYNCOPE-866) -
This closes #18
Repository: syncope
Updated Branches:
refs/heads/master eb7abbdf7 -> 02bccb360
Added Exception for existing key (SYNCOPE-866) - This closes #18
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/02bccb36
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/02bccb36
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/02bccb36
Branch: refs/heads/master
Commit: 02bccb360a0320a7df1b8db8e436350f4f657c10
Parents: eb7abbd
Author: Tushar <tu...@gmail.com>
Authored: Fri Jun 3 18:27:17 2016 +0530
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Mon Jun 6 11:15:14 2016 +0200
----------------------------------------------------------------------
.../apache/syncope/core/logic/MailTemplateLogic.java | 4 ++++
.../apache/syncope/core/logic/ReportTemplateLogic.java | 4 ++++
.../org/apache/syncope/fit/core/MailTemplateITCase.java | 12 ++++++++++++
.../apache/syncope/fit/core/ReportTemplateITCase.java | 12 ++++++++++++
4 files changed, 32 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/02bccb36/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
index 7e5b120..978b2bd 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/MailTemplateLogic.java
@@ -31,6 +31,7 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.MailTemplateFormat;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.persistence.api.dao.NotFoundException;
+import org.apache.syncope.core.persistence.api.dao.DuplicateException;
import org.apache.syncope.core.persistence.api.dao.MailTemplateDAO;
import org.apache.syncope.core.persistence.api.dao.NotificationDAO;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
@@ -83,6 +84,9 @@ public class MailTemplateLogic extends AbstractTransactionalLogic<MailTemplateTO
@PreAuthorize("hasRole('" + StandardEntitlement.MAIL_TEMPLATE_CREATE + "')")
public MailTemplateTO create(final String key) {
+ if (mailTemplateDAO.find(key) != null) {
+ throw new DuplicateException(key);
+ }
MailTemplate mailTemplate = entityFactory.newEntity(MailTemplate.class);
mailTemplate.setKey(key);
mailTemplateDAO.save(mailTemplate);
http://git-wip-us.apache.org/repos/asf/syncope/blob/02bccb36/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
index a3d2682..11a7f38 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportTemplateLogic.java
@@ -31,6 +31,7 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.ReportTemplateFormat;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.persistence.api.dao.NotFoundException;
+import org.apache.syncope.core.persistence.api.dao.DuplicateException;
import org.apache.syncope.core.persistence.api.dao.ReportTemplateDAO;
import org.apache.syncope.core.persistence.api.dao.ReportDAO;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
@@ -84,6 +85,9 @@ public class ReportTemplateLogic extends AbstractTransactionalLogic<ReportTempla
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_TEMPLATE_CREATE + "')")
public ReportTemplateTO create(final String key) {
+ if (reportTemplateDAO.find(key) != null) {
+ throw new DuplicateException(key);
+ }
ReportTemplate reportTemplate = entityFactory.newEntity(ReportTemplate.class);
reportTemplate.setKey(key);
reportTemplateDAO.save(reportTemplate);
http://git-wip-us.apache.org/repos/asf/syncope/blob/02bccb36/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
index fdf3a2a..c43cb9b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
@@ -150,4 +150,16 @@ public class MailTemplateITCase extends AbstractITCase {
assertEquals(ClientExceptionType.NotFound, e.getType());
}
}
+
+ @Test
+ public void issueSYNCOPE866() {
+ MailTemplateTO mailTemplateTO = new MailTemplateTO();
+ mailTemplateTO.setKey("optin");
+ try {
+ mailTemplateService.create(mailTemplateTO);
+ fail();
+ } catch (SyncopeClientException e) {
+ assertEquals(ClientExceptionType.EntityExists, e.getType());
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/02bccb36/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
index 638f7d6..487e936 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
@@ -152,4 +152,16 @@ public class ReportTemplateITCase extends AbstractITCase {
assertEquals(ClientExceptionType.NotFound, e.getType());
}
}
+
+ @Test
+ public void issueSYNCOPE866() {
+ ReportTemplateTO reportTemplateTO = new ReportTemplateTO();
+ reportTemplateTO.setKey("empty");
+ try {
+ reportTemplateService.create(reportTemplateTO);
+ fail();
+ } catch (SyncopeClientException e) {
+ assertEquals(ClientExceptionType.EntityExists, e.getType());
+ }
+ }
}