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/04/19 15:02:01 UTC
[14/24] syncope git commit: [SYNCOPE-822] UUID keys
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAReportTemplateDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAReportTemplateDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAReportTemplateDAO.java
index 08b434b..fbecc7e 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAReportTemplateDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAReportTemplateDAO.java
@@ -26,7 +26,7 @@ import org.apache.syncope.core.persistence.jpa.entity.JPAReportTemplate;
import org.springframework.stereotype.Repository;
@Repository
-public class JPAReportTemplateDAO extends AbstractDAO<ReportTemplate, String> implements ReportTemplateDAO {
+public class JPAReportTemplateDAO extends AbstractDAO<ReportTemplate> implements ReportTemplateDAO {
@Override
public ReportTemplate find(final String key) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARoleDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARoleDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARoleDAO.java
index e8b4816..fc91712 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARoleDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARoleDAO.java
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
-public class JPARoleDAO extends AbstractDAO<Role, String> implements RoleDAO {
+public class JPARoleDAO extends AbstractDAO<Role> implements RoleDAO {
@Autowired
private AnySearchDAO searchDAO;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPASecurityQuestionDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPASecurityQuestionDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPASecurityQuestionDAO.java
index 7028080..c9b18ec 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPASecurityQuestionDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPASecurityQuestionDAO.java
@@ -29,13 +29,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
-public class JPASecurityQuestionDAO extends AbstractDAO<SecurityQuestion, Long> implements SecurityQuestionDAO {
+public class JPASecurityQuestionDAO extends AbstractDAO<SecurityQuestion> implements SecurityQuestionDAO {
@Autowired
private UserDAO userDAO;
@Override
- public SecurityQuestion find(final Long key) {
+ public SecurityQuestion find(final String key) {
return entityManager().find(JPASecurityQuestion.class, key);
}
@@ -52,7 +52,7 @@ public class JPASecurityQuestionDAO extends AbstractDAO<SecurityQuestion, Long>
}
@Override
- public void delete(final Long key) {
+ public void delete(final String key) {
SecurityQuestion securityQuestion = find(key);
if (securityQuestion == null) {
return;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
index 95c0c57..414a171 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java
@@ -42,7 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ReflectionUtils;
@Repository
-public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
+public class JPATaskDAO extends AbstractDAO<Task> implements TaskDAO {
@Override
public Class<? extends Task> getEntityReference(final TaskType type) {
@@ -78,7 +78,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
@Transactional(readOnly = true)
@SuppressWarnings("unchecked")
@Override
- public <T extends Task> T find(final Long key) {
+ public <T extends Task> T find(final String key) {
return (T) entityManager().find(AbstractTask.class, key);
}
@@ -87,9 +87,9 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
append(getEntityReference(type).getSimpleName()).
append(" t WHERE ");
if (type == TaskType.SCHEDULED) {
- builder.append("t.id NOT IN (SELECT t.id FROM ").append(JPAPushTask.class.getSimpleName()).append(" t) ").
+ builder.append("t.key NOT IN (SELECT t.key FROM ").append(JPAPushTask.class.getSimpleName()).append(" t) ").
append("AND ").
- append("t.id NOT IN (SELECT t.id FROM ").append(JPAPullTask.class.getSimpleName()).append(" t)");
+ append("t.key NOT IN (SELECT t.key FROM ").append(JPAPullTask.class.getSimpleName()).append(" t)");
} else {
builder.append("1=1");
}
@@ -107,7 +107,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
} else {
queryString.append("t.executions IS EMPTY ");
}
- queryString.append("ORDER BY t.id DESC");
+ queryString.append("ORDER BY t.key DESC");
Query query = entityManager().createQuery(queryString.toString());
return query.getResultList();
@@ -124,7 +124,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final ExternalResource resource,
final Notification notification,
final AnyTypeKind anyTypeKind,
- final Long anyKey) {
+ final String anyKey) {
if (resource != null
&& type != TaskType.PROPAGATION && type != TaskType.PUSH && type != TaskType.PULL) {
@@ -136,6 +136,10 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
throw new IllegalArgumentException(type + " is not related to users, groups or any objects");
}
+ if (notification != null && type != TaskType.NOTIFICATION) {
+ throw new IllegalArgumentException(type + " is not related to notifications");
+ }
+
StringBuilder queryString = buildFindAllQuery(type);
if (resource != null) {
@@ -164,7 +168,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
}
if (statement.length() == 0) {
- statement.append("ORDER BY t.id DESC");
+ statement.append("ORDER BY t.key DESC");
} else {
statement.insert(0, "ORDER BY ");
}
@@ -178,7 +182,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final ExternalResource resource,
final Notification notification,
final AnyTypeKind anyTypeKind,
- final Long anyKey,
+ final String anyKey,
final int page,
final int itemsPerPage,
final List<OrderByClause> orderByClauses) {
@@ -215,7 +219,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
final ExternalResource resource,
final Notification notification,
final AnyTypeKind anyTypeKind,
- final Long anyKey) {
+ final String anyKey) {
StringBuilder queryString = buildFindAllQuery(type, resource, notification, anyTypeKind, anyKey);
@@ -242,7 +246,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO {
}
@Override
- public void delete(final Long id) {
+ public void delete(final String id) {
Task task = find(id);
if (task == null) {
return;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskExecDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskExecDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskExecDAO.java
index c0fcacb..e4c97a6 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskExecDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskExecDAO.java
@@ -34,13 +34,13 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ReflectionUtils;
@Repository
-public class JPATaskExecDAO extends AbstractDAO<TaskExec, Long> implements TaskExecDAO {
+public class JPATaskExecDAO extends AbstractDAO<TaskExec> implements TaskExecDAO {
@Autowired
private TaskDAO taskDAO;
@Override
- public TaskExec find(final Long key) {
+ public TaskExec find(final String key) {
return entityManager().find(JPATaskExec.class, key);
}
@@ -117,9 +117,9 @@ public class JPATaskExecDAO extends AbstractDAO<TaskExec, Long> implements TaskE
}
@Override
- public int count(final Long taskKey) {
+ public int count(final String taskKey) {
Query countQuery = entityManager().createNativeQuery(
- "SELECT COUNT(e.id) FROM " + JPATaskExec.TABLE + " e WHERE e.task_id=?1");
+ "SELECT COUNT(e.key) FROM " + JPATaskExec.TABLE + " e WHERE e.task_key=?1");
countQuery.setParameter(1, taskKey);
return ((Number) countQuery.getSingleResult()).intValue();
@@ -136,7 +136,7 @@ public class JPATaskExecDAO extends AbstractDAO<TaskExec, Long> implements TaskE
}
if (statement.length() == 0) {
- statement.append("ORDER BY e.id DESC");
+ statement.append("ORDER BY e.key DESC");
} else {
statement.insert(0, "ORDER BY ");
}
@@ -171,15 +171,15 @@ public class JPATaskExecDAO extends AbstractDAO<TaskExec, Long> implements TaskE
@Override
@Transactional(rollbackFor = { Throwable.class })
- public void saveAndAdd(final Long taskId, final TaskExec execution) {
- Task task = taskDAO.find(taskId);
+ public void saveAndAdd(final String taskKey, final TaskExec execution) {
+ Task task = taskDAO.find(taskKey);
task.add(execution);
taskDAO.save(task);
}
@Override
- public void delete(final Long id) {
- TaskExec execution = find(id);
+ public void delete(final String key) {
+ TaskExec execution = find(key);
if (execution == null) {
return;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
index 62d179f..5c3b241 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAUserDAO.java
@@ -69,6 +69,7 @@ import org.apache.syncope.core.persistence.jpa.entity.JPAAnyUtilsFactory;
import org.apache.syncope.core.persistence.jpa.entity.user.JPADynRoleMembership;
import org.apache.syncope.core.persistence.jpa.entity.user.JPAUDynGroupMembership;
import org.apache.syncope.core.persistence.jpa.entity.user.JPAUser;
+import org.apache.syncope.core.provisioning.api.utils.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.stereotype.Repository;
@@ -161,12 +162,12 @@ public class JPAUserDAO extends AbstractAnyDAO<User> implements UserDAO {
@Transactional(readOnly = true)
@Override
- public User authFind(final String username) {
+ public User authFindByUsername(final String username) {
if (username == null) {
throw new NotFoundException("Null username");
}
- User user = find(username);
+ User user = findByUsername(username);
if (user == null) {
throw new NotFoundException("User " + username);
}
@@ -177,7 +178,7 @@ public class JPAUserDAO extends AbstractAnyDAO<User> implements UserDAO {
}
@Override
- public User find(final String username) {
+ public User findByUsername(final String username) {
TypedQuery<User> query = entityManager().createQuery("SELECT e FROM " + JPAUser.class.getSimpleName()
+ " e WHERE e.username = :username", User.class);
query.setParameter("username", username);
@@ -458,14 +459,8 @@ public class JPAUserDAO extends AbstractAnyDAO<User> implements UserDAO {
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
@Override
- public Collection<Long> findAllGroupKeys(final User user) {
- return CollectionUtils.collect(findAllGroups(user), new Transformer<Group, Long>() {
-
- @Override
- public Long transform(final Group input) {
- return input.getKey();
- }
- });
+ public Collection<String> findAllGroupKeys(final User user) {
+ return CollectionUtils.collect(findAllGroups(user), EntityUtils.<Group>keyTransformer());
}
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
index b9ebeac..2643861 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
@@ -35,7 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
-public class JPAVirSchemaDAO extends AbstractDAO<VirSchema, String> implements VirSchemaDAO {
+public class JPAVirSchemaDAO extends AbstractDAO<VirSchema> implements VirSchemaDAO {
@Autowired
private ExternalResourceDAO resourceDAO;
@@ -51,7 +51,7 @@ public class JPAVirSchemaDAO extends AbstractDAO<VirSchema, String> implements V
append(JPAVirSchema.class.getSimpleName()).
append(" e WHERE ");
for (AnyTypeClass anyTypeClass : anyTypeClasses) {
- queryString.append("e.anyTypeClass.name='").append(anyTypeClass.getKey()).append("' OR ");
+ queryString.append("e.anyTypeClass.key='").append(anyTypeClass.getKey()).append("' OR ");
}
TypedQuery<VirSchema> query = entityManager().createQuery(
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAnnotatedEntity.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAnnotatedEntity.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAnnotatedEntity.java
index ca29980..e9e71fa 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAnnotatedEntity.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAnnotatedEntity.java
@@ -28,12 +28,10 @@ import org.apache.syncope.core.persistence.api.entity.AnnotatedEntity;
/**
* Abstract wrapper for common system information.
- *
- * @param <KEY> the type of the key of this entity
*/
@MappedSuperclass
@EntityListeners(value = AnnotatedEntityListener.class)
-public abstract class AbstractAnnotatedEntity<KEY> extends AbstractEntity<KEY> implements AnnotatedEntity<KEY> {
+public abstract class AbstractAnnotatedEntity extends AbstractGeneratedKeyEntity implements AnnotatedEntity {
private static final long serialVersionUID = -4801685541488201219L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
index ad38542..496e689 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
@@ -37,9 +37,7 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.AnyCheck;
@AnyCheck
@MappedSuperclass
-public abstract class AbstractAny<P extends PlainAttr<?>>
- extends AbstractAnnotatedEntity<Long>
- implements Any<P> {
+public abstract class AbstractAny<P extends PlainAttr<?>> extends AbstractAnnotatedEntity implements Any<P> {
private static final long serialVersionUID = -2666540708092702810L;
@@ -105,7 +103,7 @@ public abstract class AbstractAny<P extends PlainAttr<?>>
@Override
public List<String> getResourceNames() {
return CollectionUtils.collect(
- getResources(), EntityUtils.<String, ExternalResource>keyTransformer(), new ArrayList<String>());
+ getResources(), EntityUtils.<ExternalResource>keyTransformer(), new ArrayList<String>());
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractDynMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractDynMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractDynMembership.java
index 0b77dac..f872339 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractDynMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractDynMembership.java
@@ -25,7 +25,7 @@ import org.apache.syncope.core.persistence.api.entity.DynMembership;
@MappedSuperclass
public abstract class AbstractDynMembership<A extends Any<?>>
- extends AbstractEntity<Long> implements DynMembership<A> {
+ extends AbstractGeneratedKeyEntity implements DynMembership<A> {
private static final long serialVersionUID = 921821654690948787L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
index d66e9d2..08c367d 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractEntity.java
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
-public abstract class AbstractEntity<KEY> implements Entity<KEY> {
+public abstract class AbstractEntity implements Entity {
private static final long serialVersionUID = -9017214159540857901L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractExec.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractExec.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractExec.java
index c3c63ee..d27dba2 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractExec.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractExec.java
@@ -29,7 +29,7 @@ import javax.validation.constraints.NotNull;
import org.apache.syncope.core.persistence.api.entity.Exec;
@MappedSuperclass
-public abstract class AbstractExec extends AbstractEntity<Long> implements Exec {
+public abstract class AbstractExec extends AbstractGeneratedKeyEntity implements Exec {
private static final long serialVersionUID = -812344822970166317L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractGeneratedKeyEntity.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractGeneratedKeyEntity.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractGeneratedKeyEntity.java
new file mode 100644
index 0000000..c3924c8
--- /dev/null
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractGeneratedKeyEntity.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.core.persistence.jpa.entity;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
+@MappedSuperclass
+public abstract class AbstractGeneratedKeyEntity extends AbstractEntity {
+
+ private static final long serialVersionUID = 4705587655441599524L;
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uuid")
+ @Column(length = 36)
+ private String key;
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttr.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttr.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttr.java
index f892a8d..5c95118 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttr.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttr.java
@@ -38,13 +38,13 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.PlainAttrCheck;
@MappedSuperclass
@PlainAttrCheck
-public abstract class AbstractPlainAttr<O extends Any<?>> extends AbstractEntity<Long> implements PlainAttr<O> {
+public abstract class AbstractPlainAttr<O extends Any<?>> extends AbstractGeneratedKeyEntity implements PlainAttr<O> {
private static final long serialVersionUID = -9115431608821806124L;
@NotNull
@ManyToOne(fetch = FetchType.EAGER)
- @Column(name = "schema_name")
+ @Column(name = "schema_key")
protected JPAPlainSchema schema;
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
index 21f835b..bac48c6 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
@@ -33,7 +33,6 @@ import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.syncope.common.lib.types.AttrSchemaType;
import org.apache.syncope.core.provisioning.api.utils.FormatUtils;
-import org.apache.syncope.core.persistence.api.attrvalue.validation.InvalidPlainAttrValueException;
import org.apache.syncope.core.persistence.api.attrvalue.validation.ParsingValidationException;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.PlainSchema;
@@ -42,7 +41,7 @@ import org.apache.syncope.core.spring.security.Encryptor;
@MappedSuperclass
@PlainAttrValueCheck
-public abstract class AbstractPlainAttrValue extends AbstractEntity<Long> implements PlainAttrValue {
+public abstract class AbstractPlainAttrValue extends AbstractGeneratedKeyEntity implements PlainAttrValue {
private static final long serialVersionUID = -9141923816611244785L;
@@ -232,10 +231,7 @@ public abstract class AbstractPlainAttrValue extends AbstractEntity<Long> implem
@Override
public String getValueAsString(final AttrSchemaType type) {
- Exception exception = null;
-
- String result = null;
-
+ String result;
switch (type) {
case Boolean:
@@ -260,8 +256,8 @@ public abstract class AbstractPlainAttrValue extends AbstractEntity<Long> implem
result = getAttr() == null || getAttr().getSchema() == null
|| getAttr().getSchema().getConversionPattern() == null
? FormatUtils.format(getDateValue())
- : FormatUtils.format(getDateValue(), false, getAttr().getSchema().
- getConversionPattern());
+ : FormatUtils.format(
+ getDateValue(), false, getAttr().getSchema().getConversionPattern());
break;
case Binary:
@@ -276,11 +272,6 @@ public abstract class AbstractPlainAttrValue extends AbstractEntity<Long> implem
break;
}
- if (exception != null) {
- throw new InvalidPlainAttrValueException(
- "While trying to format '" + getValue() + "' as " + type, exception);
- }
-
return result;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractProvidedKeyEntity.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractProvidedKeyEntity.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractProvidedKeyEntity.java
new file mode 100644
index 0000000..49b6713
--- /dev/null
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractProvidedKeyEntity.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.core.persistence.jpa.entity;
+
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import org.apache.syncope.core.persistence.api.entity.ProvidedKeyEntity;
+
+@MappedSuperclass
+public abstract class AbstractProvidedKeyEntity extends AbstractEntity implements ProvidedKeyEntity {
+
+ private static final long serialVersionUID = 821537874069666593L;
+
+ @Id
+ private String key;
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public void setKey(final String key) {
+ this.key = key;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AnnotatedEntityListener.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AnnotatedEntityListener.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AnnotatedEntityListener.java
index 23a3815..155aa2b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AnnotatedEntityListener.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AnnotatedEntityListener.java
@@ -32,7 +32,7 @@ public class AnnotatedEntityListener {
@PrePersist
@PreUpdate
- public void setSysInfo(final AnnotatedEntity<?> entity) {
+ public void setSysInfo(final AnnotatedEntity entity) {
String username = AuthContextUtils.getUsername();
LOG.debug("Set system properties for '{}'", entity);
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyAbout.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyAbout.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyAbout.java
index e142820..3839be5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyAbout.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyAbout.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@@ -30,16 +29,13 @@ import org.apache.syncope.core.persistence.api.entity.Notification;
@Entity
@Table(name = JPAAnyAbout.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "notification_id", "anyType_name" }))
-public class JPAAnyAbout extends AbstractEntity<Long> implements AnyAbout {
+ @UniqueConstraint(columnNames = { "notification_key", "anyType_key" }))
+public class JPAAnyAbout extends AbstractGeneratedKeyEntity implements AnyAbout {
private static final long serialVersionUID = 3517381731849788407L;
public static final String TABLE = "AnyAbout";
- @Id
- private Long id;
-
@ManyToOne
private JPANotification notification;
@@ -50,11 +46,6 @@ public class JPAAnyAbout extends AbstractEntity<Long> implements AnyAbout {
private String filter;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Notification getNotification() {
return notification;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTemplateRealm.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTemplateRealm.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTemplateRealm.java
index cdb4b5e..911eeaf 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTemplateRealm.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTemplateRealm.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -29,25 +28,17 @@ import org.apache.syncope.core.persistence.jpa.entity.resource.AbstractAnyTempla
@Entity
@Table(name = JPAAnyTemplateRealm.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "realm_id", "anyType_name" }))
+ @UniqueConstraint(columnNames = { "realm_key", "anyType_key" }))
public class JPAAnyTemplateRealm extends AbstractAnyTemplate implements AnyTemplateRealm {
public static final String TABLE = "AnyTemplateRealm";
private static final long serialVersionUID = 1863029633568957907L;
- @Id
- private Long id;
-
@ManyToOne
private JPARealm realm;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Realm getRealm() {
return realm;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyType.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyType.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyType.java
index 64cd644..272716c 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyType.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyType.java
@@ -25,7 +25,6 @@ import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@@ -40,37 +39,24 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.AnyTypeCheck;
@Table(name = JPAAnyType.TABLE)
@AnyTypeCheck
@Cacheable
-public class JPAAnyType extends AbstractEntity<String> implements AnyType {
+public class JPAAnyType extends AbstractProvidedKeyEntity implements AnyType {
private static final long serialVersionUID = 2668267884059219835L;
public static final String TABLE = "AnyType";
- @Id
- private String name;
-
@NotNull
@Enumerated(EnumType.STRING)
private AnyTypeKind kind;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "anyType_name", referencedColumnName = "name"),
+ @JoinColumn(name = "anyType_key", referencedColumnName = "key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name", referencedColumnName = "name"))
+ @JoinColumn(name = "anyTypeClass_key", referencedColumnName = "key"))
private List<JPAAnyTypeClass> classes = new ArrayList<>();
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public AnyTypeKind getKind() {
return kind;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTypeClass.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTypeClass.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTypeClass.java
index 58d5eb1..5fb64aa 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTypeClass.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyTypeClass.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@@ -35,15 +34,12 @@ import org.apache.syncope.core.persistence.api.entity.VirSchema;
@Entity
@Table(name = JPAAnyTypeClass.TABLE)
@Cacheable
-public class JPAAnyTypeClass extends AbstractEntity<String> implements AnyTypeClass {
+public class JPAAnyTypeClass extends AbstractProvidedKeyEntity implements AnyTypeClass {
private static final long serialVersionUID = -1750247153774475453L;
public static final String TABLE = "AnyTypeClass";
- @Id
- private String name;
-
@ManyToMany(fetch = FetchType.EAGER, mappedBy = "classes")
private List<JPAAnyType> types = new ArrayList<>();
@@ -57,16 +53,6 @@ public class JPAAnyTypeClass extends AbstractEntity<String> implements AnyTypeCl
private List<JPAVirSchema> virSchemas = new ArrayList<>();
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public boolean add(final PlainSchema schema) {
checkType(schema, JPAPlainSchema.class);
return this.plainSchemas.add((JPAPlainSchema) schema);
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java
index 22c632a..a4d6eea 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java
@@ -99,7 +99,7 @@ public class JPAAnyUtils implements AnyUtils {
@Override
public <T extends PlainAttr<?>> Class<T> plainAttrClass() {
- Class result = null;
+ Class result;
switch (anyTypeKind) {
case GROUP:
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAConnInstance.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAConnInstance.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAConnInstance.java
index f018670..a059354 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAConnInstance.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAConnInstance.java
@@ -30,7 +30,6 @@ import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
@@ -50,7 +49,7 @@ import org.apache.syncope.core.persistence.jpa.entity.resource.JPAExternalResour
@Entity
@Table(name = JPAConnInstance.TABLE)
@ConnInstanceCheck
-public class JPAConnInstance extends AbstractEntity<Long> implements ConnInstance {
+public class JPAConnInstance extends AbstractGeneratedKeyEntity implements ConnInstance {
private static final long serialVersionUID = -2294708794497208872L;
@@ -58,9 +57,6 @@ public class JPAConnInstance extends AbstractEntity<Long> implements ConnInstanc
private static final int DEFAULT_TIMEOUT = 10;
- @Id
- private Long id;
-
/**
* URI identifying the local / remote ConnId location where the related connector bundle is found.
*/
@@ -99,7 +95,7 @@ public class JPAConnInstance extends AbstractEntity<Long> implements ConnInstanc
@Column(name = "capability")
@CollectionTable(name = "ConnInstance_capabilities",
joinColumns =
- @JoinColumn(name = "connInstance_id", referencedColumnName = "id"))
+ @JoinColumn(name = "connInstance_key", referencedColumnName = "key"))
private Set<ConnectorCapability> capabilities = new HashSet<>();
/**
@@ -129,11 +125,6 @@ public class JPAConnInstance extends AbstractEntity<Long> implements ConnInstanc
private JPAConnPoolConf poolConf;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public String getLocation() {
return location;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADerSchema.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADerSchema.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADerSchema.java
index 45eea22..7270093 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADerSchema.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADerSchema.java
@@ -21,28 +21,24 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import org.apache.syncope.common.lib.types.AttrSchemaType;
import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
import org.apache.syncope.core.persistence.api.entity.DerSchema;
-import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaNameCheck;
+import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaKeyCheck;
@Entity
@Table(name = JPADerSchema.TABLE)
@Cacheable
-@SchemaNameCheck
-public class JPADerSchema extends AbstractEntity<String> implements DerSchema {
+@SchemaKeyCheck
+public class JPADerSchema extends AbstractProvidedKeyEntity implements DerSchema {
private static final long serialVersionUID = -6173643493348674060L;
public static final String TABLE = "DerSchema";
- @Id
- private String name;
-
@OneToOne(fetch = FetchType.EAGER)
private JPAAnyTypeClass anyTypeClass;
@@ -50,16 +46,6 @@ public class JPADerSchema extends AbstractEntity<String> implements DerSchema {
private String expression;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String key) {
- this.name = key;
- }
-
- @Override
public AnyTypeClass getAnyTypeClass() {
return anyTypeClass;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADomain.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADomain.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADomain.java
index f9bb394..5e6a80f 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADomain.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPADomain.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
-import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.syncope.common.lib.types.CipherAlgorithm;
import org.apache.syncope.core.spring.security.Encryptor;
@@ -31,31 +30,18 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.DomainCheck;
@Entity
@Table(name = JPADomain.TABLE)
@DomainCheck
-public class JPADomain extends AbstractEntity<String> implements Domain {
+public class JPADomain extends AbstractProvidedKeyEntity implements Domain {
private static final long serialVersionUID = -5891241943464285840L;
public static final String TABLE = "SyncopeDomain";
- @Id
- private String name;
-
private String adminPwd;
@Enumerated(EnumType.STRING)
private CipherAlgorithm adminCipherAlgorithm;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public String getAdminPwd() {
return adminPwd;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java
index 881f509..7f0a673 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java
@@ -127,127 +127,127 @@ public class JPAEntityFactory implements EntityFactory {
@SuppressWarnings("unchecked")
@Override
- public <KEY, T extends Entity<KEY>> T newEntity(final Class<T> reference) {
- T result;
+ public <E extends Entity> E newEntity(final Class<E> reference) {
+ E result;
if (reference.equals(Domain.class)) {
- result = (T) new JPADomain();
+ result = (E) new JPADomain();
} else if (reference.equals(Realm.class)) {
- result = (T) new JPARealm();
+ result = (E) new JPARealm();
} else if (reference.equals(AnyTemplateRealm.class)) {
- result = (T) new JPAAnyTemplateRealm();
+ result = (E) new JPAAnyTemplateRealm();
} else if (reference.equals(AccountPolicy.class)) {
- result = (T) new JPAAccountPolicy();
+ result = (E) new JPAAccountPolicy();
} else if (reference.equals(PasswordPolicy.class)) {
- result = (T) new JPAPasswordPolicy();
+ result = (E) new JPAPasswordPolicy();
} else if (reference.equals(PushPolicy.class)) {
- result = (T) new JPAPushPolicy();
+ result = (E) new JPAPushPolicy();
} else if (reference.equals(PullPolicy.class)) {
- result = (T) new JPAPullPolicy();
+ result = (E) new JPAPullPolicy();
} else if (reference.equals(AnyTypeClass.class)) {
- result = (T) new JPAAnyTypeClass();
+ result = (E) new JPAAnyTypeClass();
} else if (reference.equals(AnyType.class)) {
- result = (T) new JPAAnyType();
+ result = (E) new JPAAnyType();
} else if (reference.equals(AnyObject.class)) {
- result = (T) new JPAAnyObject();
+ result = (E) new JPAAnyObject();
} else if (reference.equals(Role.class)) {
- result = (T) new JPARole();
+ result = (E) new JPARole();
} else if (reference.equals(User.class)) {
- result = (T) new JPAUser();
+ result = (E) new JPAUser();
} else if (reference.equals(Group.class)) {
- result = (T) new JPAGroup();
+ result = (E) new JPAGroup();
} else if (reference.equals(TypeExtension.class)) {
- result = (T) new JPATypeExtension();
+ result = (E) new JPATypeExtension();
} else if (reference.equals(RelationshipType.class)) {
- result = (T) new JPARelationshipType();
+ result = (E) new JPARelationshipType();
} else if (reference.equals(ARelationship.class)) {
- result = (T) new JPAARelationship();
+ result = (E) new JPAARelationship();
} else if (reference.equals(URelationship.class)) {
- result = (T) new JPAURelationship();
+ result = (E) new JPAURelationship();
} else if (reference.equals(AMembership.class)) {
- result = (T) new JPAAMembership();
+ result = (E) new JPAAMembership();
} else if (reference.equals(UMembership.class)) {
- result = (T) new JPAUMembership();
+ result = (E) new JPAUMembership();
} else if (reference.equals(Conf.class)) {
- result = (T) new JPAConf();
+ result = (E) new JPAConf();
} else if (reference.equals(AnyAbout.class)) {
- result = (T) new JPAAnyAbout();
+ result = (E) new JPAAnyAbout();
} else if (reference.equals(MailTemplate.class)) {
- result = (T) new JPAMailTemplate();
+ result = (E) new JPAMailTemplate();
} else if (reference.equals(Notification.class)) {
- result = (T) new JPANotification();
+ result = (E) new JPANotification();
} else if (reference.equals(ExternalResource.class)) {
- result = (T) new JPAExternalResource();
+ result = (E) new JPAExternalResource();
} else if (reference.equals(Provision.class)) {
- result = (T) new JPAProvision();
+ result = (E) new JPAProvision();
} else if (reference.equals(ConnInstance.class)) {
- result = (T) new JPAConnInstance();
+ result = (E) new JPAConnInstance();
} else if (reference.equals(PlainSchema.class)) {
- result = (T) new JPAPlainSchema();
+ result = (E) new JPAPlainSchema();
} else if (reference.equals(APlainAttr.class)) {
- result = (T) new JPAAPlainAttr();
+ result = (E) new JPAAPlainAttr();
} else if (reference.equals(APlainAttrValue.class)) {
- result = (T) new JPAAPlainAttrValue();
+ result = (E) new JPAAPlainAttrValue();
} else if (reference.equals(APlainAttrUniqueValue.class)) {
- result = (T) new JPAAPlainAttrUniqueValue();
+ result = (E) new JPAAPlainAttrUniqueValue();
} else if (reference.equals(UPlainAttr.class)) {
- result = (T) new JPAUPlainAttr();
+ result = (E) new JPAUPlainAttr();
} else if (reference.equals(UPlainAttrValue.class)) {
- result = (T) new JPAUPlainAttrValue();
+ result = (E) new JPAUPlainAttrValue();
} else if (reference.equals(UPlainAttrUniqueValue.class)) {
- result = (T) new JPAUPlainAttrUniqueValue();
+ result = (E) new JPAUPlainAttrUniqueValue();
} else if (reference.equals(DerSchema.class)) {
- result = (T) new JPADerSchema();
+ result = (E) new JPADerSchema();
} else if (reference.equals(VirSchema.class)) {
- result = (T) new JPAVirSchema();
+ result = (E) new JPAVirSchema();
} else if (reference.equals(Mapping.class)) {
- result = (T) new JPAMapping();
+ result = (E) new JPAMapping();
} else if (reference.equals(MappingItem.class)) {
- result = (T) new JPAMappingItem();
+ result = (E) new JPAMappingItem();
} else if (reference.equals(GPlainAttr.class)) {
- result = (T) new JPAGPlainAttr();
+ result = (E) new JPAGPlainAttr();
} else if (reference.equals(GPlainAttrValue.class)) {
- result = (T) new JPAGPlainAttrValue();
+ result = (E) new JPAGPlainAttrValue();
} else if (reference.equals(GPlainAttrUniqueValue.class)) {
- result = (T) new JPAGPlainAttrUniqueValue();
+ result = (E) new JPAGPlainAttrUniqueValue();
} else if (reference.equals(CPlainAttr.class)) {
- result = (T) new JPACPlainAttr();
+ result = (E) new JPACPlainAttr();
} else if (reference.equals(CPlainAttrValue.class)) {
- result = (T) new JPACPlainAttrValue();
+ result = (E) new JPACPlainAttrValue();
} else if (reference.equals(CPlainAttrUniqueValue.class)) {
- result = (T) new JPACPlainAttrUniqueValue();
+ result = (E) new JPACPlainAttrUniqueValue();
} else if (reference.equals(Report.class)) {
- result = (T) new JPAReport();
+ result = (E) new JPAReport();
} else if (reference.equals(ReportTemplate.class)) {
- result = (T) new JPAReportTemplate();
+ result = (E) new JPAReportTemplate();
} else if (reference.equals(ReportExec.class)) {
- result = (T) new JPAReportExec();
+ result = (E) new JPAReportExec();
} else if (reference.equals(NotificationTask.class)) {
- result = (T) new JPANotificationTask();
+ result = (E) new JPANotificationTask();
} else if (reference.equals(PropagationTask.class)) {
- result = (T) new JPAPropagationTask();
+ result = (E) new JPAPropagationTask();
} else if (reference.equals(PushTask.class)) {
- result = (T) new JPAPushTask();
+ result = (E) new JPAPushTask();
} else if (reference.equals(PullTask.class)) {
- result = (T) new JPAPullTask();
+ result = (E) new JPAPullTask();
} else if (reference.equals(SchedTask.class)) {
- result = (T) new JPASchedTask();
+ result = (E) new JPASchedTask();
} else if (reference.equals(TaskExec.class)) {
- result = (T) new JPATaskExec();
+ result = (E) new JPATaskExec();
} else if (reference.equals(PushTaskAnyFilter.class)) {
- result = (T) new JPAPushTaskAnyFilter();
+ result = (E) new JPAPushTaskAnyFilter();
} else if (reference.equals(AnyTemplatePullTask.class)) {
- result = (T) new JPAAnyTemplatePullTask();
+ result = (E) new JPAAnyTemplatePullTask();
} else if (reference.equals(SecurityQuestion.class)) {
- result = (T) new JPASecurityQuestion();
+ result = (E) new JPASecurityQuestion();
} else if (reference.equals(Logger.class)) {
- result = (T) new JPALogger();
+ result = (E) new JPALogger();
} else if (reference.equals(DynRoleMembership.class)) {
- result = (T) new JPADynRoleMembership();
+ result = (E) new JPADynRoleMembership();
} else if (reference.equals(ADynGroupMembership.class)) {
- result = (T) new JPAADynGroupMembership();
+ result = (E) new JPAADynGroupMembership();
} else if (reference.equals(UDynGroupMembership.class)) {
- result = (T) new JPAUDynGroupMembership();
+ result = (E) new JPAUDynGroupMembership();
} else {
throw new IllegalArgumentException("Could not find a JPA implementation of " + reference.getName());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPALogger.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPALogger.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPALogger.java
index 3704055..ce5e1ab 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPALogger.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPALogger.java
@@ -30,7 +30,7 @@ import org.apache.syncope.core.persistence.api.entity.Logger;
@Entity
@Table(name = JPALogger.TABLE)
-public class JPALogger extends AbstractEntity<String> implements Logger {
+public class JPALogger extends AbstractEntity implements Logger {
private static final long serialVersionUID = 943012777014416027L;
@@ -38,7 +38,7 @@ public class JPALogger extends AbstractEntity<String> implements Logger {
@Id
@Column(name = "logName")
- private String name;
+ private String key;
@Column(name = "logLevel", nullable = false)
@Enumerated(EnumType.STRING)
@@ -50,12 +50,12 @@ public class JPALogger extends AbstractEntity<String> implements Logger {
@Override
public String getKey() {
- return name;
+ return key;
}
@Override
public void setKey(final String name) {
- this.name = name;
+ this.key = name;
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAMailTemplate.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAMailTemplate.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAMailTemplate.java
index 2678df2..fee18fd 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAMailTemplate.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAMailTemplate.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.MailTemplate;
@@ -28,15 +27,12 @@ import org.apache.syncope.core.persistence.api.entity.MailTemplate;
@Entity
@Table(name = JPAMailTemplate.TABLE)
@Cacheable
-public class JPAMailTemplate extends AbstractEntity<String> implements MailTemplate {
+public class JPAMailTemplate extends AbstractProvidedKeyEntity implements MailTemplate {
private static final long serialVersionUID = 2668267884059219835L;
public static final String TABLE = "MailTemplate";
- @Id
- private String name;
-
@Lob
private String textTemplate;
@@ -44,16 +40,6 @@ public class JPAMailTemplate extends AbstractEntity<String> implements MailTempl
private String htmlTemplate;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public String getTextTemplate() {
return textTemplate;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPANotification.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPANotification.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPANotification.java
index 2202a12..73ce78f 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPANotification.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPANotification.java
@@ -29,7 +29,6 @@ import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -50,20 +49,17 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.NotificationChe
@Entity
@Table(name = JPANotification.TABLE)
@NotificationCheck
-public class JPANotification extends AbstractEntity<Long> implements Notification {
+public class JPANotification extends AbstractGeneratedKeyEntity implements Notification {
private static final long serialVersionUID = 3112582296912757537L;
public static final String TABLE = "Notification";
- @Id
- private Long id;
-
@ElementCollection(fetch = FetchType.EAGER)
@Column(name = "event")
@CollectionTable(name = "Notification_events",
joinColumns =
- @JoinColumn(name = "notification_id", referencedColumnName = "id"))
+ @JoinColumn(name = "notification_key", referencedColumnName = "key"))
private List<String> events;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "notification")
@@ -74,7 +70,7 @@ public class JPANotification extends AbstractEntity<Long> implements Notificatio
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "Notification_staticRecipients",
joinColumns =
- @JoinColumn(name = "notification_id", referencedColumnName = "id"))
+ @JoinColumn(name = "notification_key", referencedColumnName = "key"))
@Column(name = "staticRecipients")
private List<String> staticRecipients;
@@ -100,7 +96,7 @@ public class JPANotification extends AbstractEntity<Long> implements Notificatio
private String subject;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
- @JoinColumn(name = "template_name")
+ @JoinColumn(name = "template_key")
private JPAMailTemplate template;
@NotNull
@@ -123,11 +119,6 @@ public class JPANotification extends AbstractEntity<Long> implements Notificatio
}
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public String getRecipientsFIQL() {
return recipientsFIQL;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAPlainSchema.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAPlainSchema.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAPlainSchema.java
index 4ba6fa3..02b3ff7 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAPlainSchema.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAPlainSchema.java
@@ -25,7 +25,6 @@ import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@@ -41,21 +40,18 @@ import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
import org.apache.syncope.core.persistence.api.entity.PlainSchema;
import org.apache.syncope.core.persistence.jpa.attrvalue.validation.BasicValidator;
import org.apache.syncope.core.persistence.jpa.validation.entity.PlainSchemaCheck;
-import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaNameCheck;
+import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaKeyCheck;
@Entity
@Table(name = JPAPlainSchema.TABLE)
@PlainSchemaCheck
-@SchemaNameCheck
-public class JPAPlainSchema extends AbstractEntity<String> implements PlainSchema {
+@SchemaKeyCheck
+public class JPAPlainSchema extends AbstractProvidedKeyEntity implements PlainSchema {
private static final long serialVersionUID = -8621028596062054739L;
public static final String TABLE = "PlainSchema";
- @Id
- private String name;
-
@OneToOne(fetch = FetchType.EAGER)
private JPAAnyTypeClass anyTypeClass;
@@ -119,16 +115,6 @@ public class JPAPlainSchema extends AbstractEntity<String> implements PlainSchem
}
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public AnyTypeClass getAnyTypeClass() {
return anyTypeClass;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARealm.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARealm.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARealm.java
index 5455168..719f9a8 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARealm.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARealm.java
@@ -29,7 +29,6 @@ import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -52,18 +51,15 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.RealmCheck;
@Entity
@Table(name = JPARealm.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "name", "parent_id" }))
+ @UniqueConstraint(columnNames = { "key", "parent_key" }))
@Cacheable
@RealmCheck
-public class JPARealm extends AbstractEntity<Long> implements Realm {
+public class JPARealm extends AbstractGeneratedKeyEntity implements Realm {
private static final long serialVersionUID = 5533247460239909964L;
public static final String TABLE = "Realm";
- @Id
- private Long id;
-
@Size(min = 1)
private String name;
@@ -80,18 +76,13 @@ public class JPARealm extends AbstractEntity<Long> implements Realm {
@Column(name = "actionClassName")
@CollectionTable(name = "Realm_actionsClassNames",
joinColumns =
- @JoinColumn(name = "realm_id", referencedColumnName = "id"))
+ @JoinColumn(name = "realm_key", referencedColumnName = "key"))
private Set<String> actionsClassNames = new HashSet<>();
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "realm")
private List<JPAAnyTemplateRealm> templates = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public String getName() {
return name;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARelationshipType.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARelationshipType.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARelationshipType.java
index f3fc882..a1b58c7 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARelationshipType.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARelationshipType.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.RelationshipType;
import org.apache.syncope.core.persistence.jpa.validation.entity.RelationshipTypeCheck;
@@ -29,28 +28,15 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.RelationshipTyp
@Table(name = JPARelationshipType.TABLE)
@RelationshipTypeCheck
@Cacheable
-public class JPARelationshipType extends AbstractEntity<String> implements RelationshipType {
+public class JPARelationshipType extends AbstractProvidedKeyEntity implements RelationshipType {
private static final long serialVersionUID = -753673974614737065L;
public static final String TABLE = "RelationshipType";
- @Id
- private String name;
-
private String description;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public String getDescription() {
return description;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
index 2c40c51..cb9e029 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
@@ -25,7 +25,6 @@ import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -44,15 +43,12 @@ import org.apache.syncope.core.persistence.jpa.validation.entity.ReportCheck;
@Entity
@Table(name = JPAReport.TABLE)
@ReportCheck
-public class JPAReport extends AbstractEntity<Long> implements Report {
+public class JPAReport extends AbstractGeneratedKeyEntity implements Report {
private static final long serialVersionUID = -587652654964285834L;
public static final String TABLE = "Report";
- @Id
- private Long id;
-
@Column(unique = true, nullable = false)
private String name;
@@ -71,15 +67,10 @@ public class JPAReport extends AbstractEntity<Long> implements Report {
private Integer active;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
- @JoinColumn(name = "template_name")
+ @JoinColumn(name = "template_key")
private JPAReportTemplate template;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public String getName() {
return name;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportExec.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportExec.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportExec.java
index f5f0777..249e61b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportExec.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportExec.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@@ -38,9 +37,6 @@ public class JPAReportExec extends AbstractExec implements ReportExec {
public static final String TABLE = "ReportExec";
- @Id
- private Long id;
-
/**
* The referred report.
*/
@@ -55,11 +51,6 @@ public class JPAReportExec extends AbstractExec implements ReportExec {
private Byte[] execResult;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Report getReport() {
return report;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportTemplate.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportTemplate.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportTemplate.java
index 7551411..408c594 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportTemplate.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportTemplate.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.ReportTemplate;
@@ -28,15 +27,12 @@ import org.apache.syncope.core.persistence.api.entity.ReportTemplate;
@Entity
@Table(name = JPAReportTemplate.TABLE)
@Cacheable
-public class JPAReportTemplate extends AbstractEntity<String> implements ReportTemplate {
+public class JPAReportTemplate extends AbstractProvidedKeyEntity implements ReportTemplate {
private static final long serialVersionUID = 7755855927366231089L;
public static final String TABLE = "ReportTemplate";
- @Id
- private String name;
-
@Lob
private String foTemplate;
@@ -47,16 +43,6 @@ public class JPAReportTemplate extends AbstractEntity<String> implements ReportT
private String htmlTemplate;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public String getFOTemplate() {
return foTemplate;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportletConfInstance.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportletConfInstance.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportletConfInstance.java
index d744976..1fe7c37 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportletConfInstance.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReportletConfInstance.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@@ -29,26 +28,18 @@ import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
@Entity
@Table(name = JPAReportletConfInstance.TABLE)
-public class JPAReportletConfInstance extends AbstractEntity<Long> {
+public class JPAReportletConfInstance extends AbstractGeneratedKeyEntity {
private static final long serialVersionUID = -2436055132955674610L;
public static final String TABLE = "ReportletConfInstance";
- @Id
- private Long id;
-
@Lob
private String serializedInstance;
@ManyToOne
private JPAReport report;
- @Override
- public Long getKey() {
- return id;
- }
-
public Report getReport() {
return report;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARole.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARole.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARole.java
index d2c6dc0..cc8aa68 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARole.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPARole.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.core.persistence.jpa.entity;
-import org.apache.syncope.core.persistence.jpa.entity.user.JPADynRoleMembership;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -30,7 +29,6 @@ import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@@ -40,33 +38,31 @@ import javax.validation.Valid;
import org.apache.syncope.core.persistence.api.entity.user.DynRoleMembership;
import org.apache.syncope.core.persistence.api.entity.Realm;
import org.apache.syncope.core.persistence.api.entity.Role;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPADynRoleMembership;
import org.apache.syncope.core.persistence.jpa.validation.entity.RoleCheck;
@Entity
@Table(name = JPARole.TABLE)
@Cacheable
@RoleCheck
-public class JPARole extends AbstractEntity<String> implements Role {
+public class JPARole extends AbstractProvidedKeyEntity implements Role {
private static final long serialVersionUID = -7657701119422588832L;
public static final String TABLE = "SyncopeRole";
- @Id
- private String name;
-
@ElementCollection(fetch = FetchType.EAGER)
@Column(name = "entitlement")
@CollectionTable(name = "SyncopeRole_entitlements",
joinColumns =
- @JoinColumn(name = "role_name", referencedColumnName = "name"))
+ @JoinColumn(name = "role_key", referencedColumnName = "key"))
private Set<String> entitlements = new HashSet<>();
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "role_name"),
+ @JoinColumn(name = "role_key"),
inverseJoinColumns =
- @JoinColumn(name = "realm_id"))
+ @JoinColumn(name = "realm_key"))
@Valid
private List<JPARealm> realms = new ArrayList<>();
@@ -75,16 +71,6 @@ public class JPARole extends AbstractEntity<String> implements Role {
private JPADynRoleMembership dynMembership;
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public Set<String> getEntitlements() {
return entitlements;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASecurityQuestion.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASecurityQuestion.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASecurityQuestion.java
index 324095e..ab6e9d5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASecurityQuestion.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPASecurityQuestion.java
@@ -20,30 +20,21 @@ package org.apache.syncope.core.persistence.jpa.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.user.SecurityQuestion;
@Entity
@Table(name = JPASecurityQuestion.TABLE)
-public class JPASecurityQuestion extends AbstractEntity<Long> implements SecurityQuestion {
+public class JPASecurityQuestion extends AbstractGeneratedKeyEntity implements SecurityQuestion {
private static final long serialVersionUID = 7675321820453579744L;
public static final String TABLE = "SecurityQuestion";
- @Id
- private Long id;
-
@Column(unique = true)
private String content;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public String getContent() {
return content;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAVirSchema.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAVirSchema.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAVirSchema.java
index 0ee1606..8cf70ff 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAVirSchema.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAVirSchema.java
@@ -22,7 +22,6 @@ import javax.persistence.Basic;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@@ -36,21 +35,18 @@ import org.apache.syncope.core.persistence.api.entity.VirSchema;
import org.apache.syncope.core.persistence.api.entity.resource.MappingItem;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
import org.apache.syncope.core.persistence.jpa.entity.resource.JPAProvision;
-import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaNameCheck;
+import org.apache.syncope.core.persistence.jpa.validation.entity.SchemaKeyCheck;
@Entity
@Table(name = JPAVirSchema.TABLE)
@Cacheable
-@SchemaNameCheck
-public class JPAVirSchema extends AbstractEntity<String> implements VirSchema {
+@SchemaKeyCheck
+public class JPAVirSchema extends AbstractProvidedKeyEntity implements VirSchema {
private static final long serialVersionUID = 3274006935328590141L;
public static final String TABLE = "VirSchema";
- @Id
- private String name;
-
@OneToOne(fetch = FetchType.EAGER)
private JPAAnyTypeClass anyTypeClass;
@@ -73,16 +69,6 @@ public class JPAVirSchema extends AbstractEntity<String> implements VirSchema {
}
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String key) {
- this.name = key;
- }
-
- @Override
public AnyTypeClass getAnyTypeClass() {
return anyTypeClass;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAADynGroupMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAADynGroupMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAADynGroupMembership.java
index b6ad613..b0ca6ea 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAADynGroupMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAADynGroupMembership.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity.anyobject;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@@ -44,9 +43,6 @@ public class JPAADynGroupMembership extends AbstractDynMembership<AnyObject> imp
public static final String TABLE = "ADynGroupMembership";
- @Id
- private Long id;
-
@OneToOne
private JPAGroup group;
@@ -55,17 +51,12 @@ public class JPAADynGroupMembership extends AbstractDynMembership<AnyObject> imp
@ManyToMany
@JoinTable(joinColumns =
- @JoinColumn(name = "aDynGroupMembership_id"),
+ @JoinColumn(name = "aDynGroupMembership_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyObject_id"))
+ @JoinColumn(name = "anyObject_key"))
private List<JPAAnyObject> anyObjects = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Group getGroup() {
return group;
}