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());
+        }
+    }
 }