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:00 UTC
[13/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/entity/anyobject/JPAAMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAMembership.java
index 28ee49b..2d017ba 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAMembership.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity.anyobject;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.MembershipType;
@@ -28,34 +27,26 @@ import org.apache.syncope.core.persistence.api.entity.RelationshipType;
import org.apache.syncope.core.persistence.api.entity.anyobject.AMembership;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
import org.apache.syncope.core.persistence.api.entity.group.Group;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.group.JPAGroup;
@Entity
@Table(name = JPAAMembership.TABLE)
-public class JPAAMembership extends AbstractEntity<Long> implements AMembership {
+public class JPAAMembership extends AbstractGeneratedKeyEntity implements AMembership {
private static final long serialVersionUID = 1503557547394601405L;
public static final String TABLE = "AMembership";
- @Id
- private Long id;
-
@ManyToOne
- @Column(name = "anyObject_id")
+ @Column(name = "anyObject_key")
private JPAAnyObject leftEnd;
@ManyToOne
- @Column(name = "group_id")
+ @Column(name = "group_key")
private JPAGroup rightEnd;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public MembershipType getType() {
return MembershipType.getInstance();
}
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/JPAAPlainAttr.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttr.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttr.java
index d0abc91..f9a8151 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttr.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttr.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@@ -45,9 +44,6 @@ public class JPAAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlai
public static final String TABLE = "APlainAttr";
- @Id
- private Long id;
-
@ManyToOne(fetch = FetchType.EAGER)
private JPAAnyObject owner;
@@ -60,11 +56,6 @@ public class JPAAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlai
private JPAAPlainAttrUniqueValue uniqueValue;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public AnyObject getOwner() {
return owner;
}
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/JPAAPlainAttrUniqueValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrUniqueValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrUniqueValue.java
index 01be6a8..af4d8da 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrUniqueValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrUniqueValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.anyobject;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@@ -39,22 +38,14 @@ public class JPAAPlainAttrUniqueValue extends AbstractPlainAttrValue implements
public static final String TABLE = "APlainAttrUniqueValue";
- @Id
- private Long id;
-
@OneToOne(optional = false)
private JPAAPlainAttr attribute;
@ManyToOne(optional = false)
- @JoinColumn(name = "schema_name")
+ @JoinColumn(name = "schema_key")
private JPAPlainSchema schema;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public APlainAttr getAttr() {
return attribute;
}
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/JPAAPlainAttrValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrValue.java
index 0c9e598..d7048fa 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAPlainAttrValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.anyobject;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
@@ -39,19 +38,11 @@ public class JPAAPlainAttrValue extends AbstractPlainAttrValue implements APlain
public static final String TABLE = "APlainAttrValue";
- @Id
- private Long id;
-
@ManyToOne
@NotNull
private JPAAPlainAttr attribute;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public APlainAttr getAttr() {
return attribute;
}
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/JPAARelationship.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAARelationship.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAARelationship.java
index e12f8d8..49bdd5b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAARelationship.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAARelationship.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity.anyobject;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -29,38 +28,30 @@ import org.apache.syncope.core.persistence.api.entity.MembershipType;
import org.apache.syncope.core.persistence.api.entity.RelationshipType;
import org.apache.syncope.core.persistence.api.entity.anyobject.ARelationship;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPARelationshipType;
@Entity
@Table(name = JPAARelationship.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "type_name", "left_anyObject_id", "right_anyObject_id" }))
-public class JPAARelationship extends AbstractEntity<Long> implements ARelationship {
+ @UniqueConstraint(columnNames = { "type_key", "left_anyObject_key", "right_anyObject_key" }))
+public class JPAARelationship extends AbstractGeneratedKeyEntity implements ARelationship {
private static final long serialVersionUID = 6608821135023815357L;
public static final String TABLE = "ARelationship";
- @Id
- private Long id;
-
@ManyToOne(fetch = FetchType.EAGER, optional = false)
private JPARelationshipType type;
@ManyToOne
- @Column(name = "left_anyObject_id")
+ @Column(name = "left_anyObject_key")
private JPAAnyObject leftEnd;
@ManyToOne
- @Column(name = "right_anyObject_id")
+ @Column(name = "right_anyObject_key")
private JPAAnyObject rightEnd;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public RelationshipType getType() {
return type;
}
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/JPAAnyObject.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAnyObject.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAnyObject.java
index 304956e..deb19d9 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAnyObject.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAAnyObject.java
@@ -25,7 +25,6 @@ import javax.persistence.Cacheable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@@ -58,9 +57,6 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
public static final String TABLE = "AnyObject";
- @Id
- private Long id;
-
@NotNull
@ManyToOne(fetch = FetchType.EAGER, optional = false)
private JPAAnyType type;
@@ -71,16 +67,16 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "anyObject_id"),
+ @JoinColumn(name = "anyObject_key"),
inverseJoinColumns =
- @JoinColumn(name = "resource_name"))
+ @JoinColumn(name = "resource_key"))
private List<JPAExternalResource> resources = new ArrayList<>();
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "anyObject_id"),
+ @JoinColumn(name = "anyObject_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name"))
+ @JoinColumn(name = "anyTypeClass_key"))
private List<JPAAnyTypeClass> auxClasses = new ArrayList<>();
@OneToMany(cascade = CascadeType.ALL, mappedBy = "leftEnd")
@@ -92,11 +88,6 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
private List<JPAAMembership> memberships = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public AnyType getType() {
return type;
}
@@ -141,7 +132,7 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
}
@Override
- public ARelationship getRelationship(final RelationshipType relationshipType, final Long anyObjectKey) {
+ public ARelationship getRelationship(final RelationshipType relationshipType, final String anyObjectKey) {
return IterableUtils.find(getRelationships(), new Predicate<ARelationship>() {
@Override
@@ -165,7 +156,7 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
}
@Override
- public Collection<? extends ARelationship> getRelationships(final Long anyObjectKey) {
+ public Collection<? extends ARelationship> getRelationships(final String anyObjectKey) {
return CollectionUtils.select(getRelationships(), new Predicate<ARelationship>() {
@Override
@@ -187,7 +178,7 @@ public class JPAAnyObject extends AbstractAny<APlainAttr> implements AnyObject {
}
@Override
- public AMembership getMembership(final Long groupKey) {
+ public AMembership getMembership(final String groupKey) {
return IterableUtils.find(getMemberships(), new Predicate<AMembership>() {
@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/conf/JPACPlainAttr.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttr.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttr.java
index 270fa8b..cce0b5b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttr.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttr.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@@ -51,12 +50,6 @@ public class JPACPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr
public static final String TABLE = "CPlainAttr";
/**
- * Auto-generated id for this table.
- */
- @Id
- private Long id;
-
- /**
* The owner of this attribute.
*/
@ManyToOne(fetch = FetchType.EAGER)
@@ -77,11 +70,6 @@ public class JPACPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr
private JPACPlainAttrUniqueValue uniqueValue;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Conf getOwner() {
return owner;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrUniqueValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrUniqueValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrUniqueValue.java
index fea5af4..26e7de4 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrUniqueValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrUniqueValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.conf;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@@ -39,22 +38,14 @@ public class JPACPlainAttrUniqueValue extends AbstractPlainAttrValue implements
public static final String TABLE = "CPlainAttrUniqueValue";
- @Id
- private Long id;
-
@OneToOne(optional = false)
private JPACPlainAttr attribute;
@ManyToOne(optional = false)
- @JoinColumn(name = "schema_name")
+ @JoinColumn(name = "schema_key")
private JPAPlainSchema schema;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public CPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrValue.java
index 5b7d2b3..ac72983 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPACPlainAttrValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.conf;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
@@ -39,19 +38,11 @@ public class JPACPlainAttrValue extends AbstractPlainAttrValue implements CPlain
public static final String TABLE = "CPlainAttrValue";
- @Id
- private Long id;
-
@ManyToOne
@NotNull
private JPACPlainAttr attribute;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public CPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAConf.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAConf.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAConf.java
index 7347fbb..1ceaaa7 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAConf.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAConf.java
@@ -20,11 +20,11 @@ package org.apache.syncope.core.persistence.jpa.entity.conf;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
import javax.persistence.Cacheable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.Valid;
@@ -36,35 +36,22 @@ import org.apache.syncope.core.persistence.api.entity.Realm;
import org.apache.syncope.core.persistence.api.entity.conf.CPlainAttr;
import org.apache.syncope.core.persistence.api.entity.conf.Conf;
import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractAnnotatedEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractProvidedKeyEntity;
@Entity
@Table(name = JPAConf.TABLE)
@Cacheable
-public class JPAConf extends AbstractAnnotatedEntity<Long> implements Conf {
+public class JPAConf extends AbstractProvidedKeyEntity implements Conf {
private static final long serialVersionUID = 7671699609879382195L;
public static final String TABLE = "SyncopeConf";
- @Id
- private Long id;
-
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
@Valid
private List<JPACPlainAttr> plainAttrs = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
- public void setKey(final Long key) {
- this.id = key;
- }
-
- @Override
public boolean add(final CPlainAttr attr) {
checkType(attr, JPACPlainAttr.class);
return plainAttrs.add((JPACPlainAttr) attr);
@@ -151,4 +138,44 @@ public class JPAConf extends AbstractAnnotatedEntity<Long> implements Conf {
public void setType(final AnyType type) {
// nothing to do
}
+
+ @Override
+ public Date getCreationDate() {
+ return null;
+ }
+
+ @Override
+ public void setCreationDate(final Date creationDate) {
+ // nothing to do
+ }
+
+ @Override
+ public String getCreator() {
+ return null;
+ }
+
+ @Override
+ public void setCreator(final String creator) {
+ // nothing to do
+ }
+
+ @Override
+
+ public Date getLastChangeDate() {
+ return null;
+ }
+
+ @Override
+ public void setLastChangeDate(final Date lastChangeDate) {
+ // nothing to do
+ }
+
+ @Override
+ public String getLastModifier() {
+ return null;
+ }
+
+ @Override
+ public void setLastModifier(final String lastModifier) {
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttr.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttr.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttr.java
index 1090351..644fa27 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttr.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttr.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@@ -45,9 +44,6 @@ public class JPAGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAtt
public static final String TABLE = "GPlainAttr";
- @Id
- private Long id;
-
@ManyToOne(fetch = FetchType.EAGER)
private JPAGroup owner;
@@ -60,11 +56,6 @@ public class JPAGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAtt
private JPAGPlainAttrUniqueValue uniqueValue;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Group getOwner() {
return owner;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrUniqueValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrUniqueValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrUniqueValue.java
index a5c1b90..49ab347 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrUniqueValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrUniqueValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.group;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@@ -39,22 +38,14 @@ public class JPAGPlainAttrUniqueValue extends AbstractPlainAttrValue implements
public static final String TABLE = "GPlainAttrUniqueValue";
- @Id
- private Long id;
-
@OneToOne(optional = false)
private JPAGPlainAttr attribute;
@ManyToOne(optional = false)
- @JoinColumn(name = "schema_name")
+ @JoinColumn(name = "schema_key")
private JPAPlainSchema schema;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public GPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrValue.java
index e5d0830..8c9f383 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGPlainAttrValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.group;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
@@ -39,19 +38,11 @@ public class JPAGPlainAttrValue extends AbstractPlainAttrValue implements GPlain
public static final String TABLE = "GPlainAttrValue";
- @Id
- private Long id;
-
@ManyToOne
@NotNull
private JPAGPlainAttr attribute;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public GPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGroup.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGroup.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGroup.java
index e1fcbdd..f8acfc7 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGroup.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAGroup.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.JoinTable;
import javax.persistence.ManyToMany;
@@ -65,9 +64,6 @@ public class JPAGroup extends AbstractAny<GPlainAttr> implements Group {
public static final String TABLE = "SyncopeGroup";
- @Id
- private Long id;
-
@Column(unique = true)
@NotNull
private String name;
@@ -84,17 +80,17 @@ public class JPAGroup extends AbstractAny<GPlainAttr> implements Group {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "group_id"),
+ @JoinColumn(name = "group_key"),
inverseJoinColumns =
- @JoinColumn(name = "resource_name"))
+ @JoinColumn(name = "resource_key"))
@Valid
private List<JPAExternalResource> resources = new ArrayList<>();
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "group_id"),
+ @JoinColumn(name = "group_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name"))
+ @JoinColumn(name = "anyTypeClass_key"))
private List<JPAAnyTypeClass> auxClasses = new ArrayList<>();
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "group")
@@ -108,11 +104,6 @@ public class JPAGroup extends AbstractAny<GPlainAttr> implements Group {
private List<JPATypeExtension> typeExtensions = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public AnyType getType() {
return ApplicationContextProvider.getBeanFactory().getBean(AnyTypeDAO.class).findGroup();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPATypeExtension.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPATypeExtension.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPATypeExtension.java
index 9510c23..1d8348f 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPATypeExtension.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPATypeExtension.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@@ -33,22 +32,19 @@ import org.apache.syncope.core.persistence.api.entity.AnyType;
import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
import org.apache.syncope.core.persistence.api.entity.group.Group;
import org.apache.syncope.core.persistence.api.entity.group.TypeExtension;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyType;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyTypeClass;
@Entity
@Table(name = JPATypeExtension.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "group_id", "anyType_name" }))
-public class JPATypeExtension extends AbstractEntity<Long> implements TypeExtension {
+ @UniqueConstraint(columnNames = { "group_key", "anyType_key" }))
+public class JPATypeExtension extends AbstractGeneratedKeyEntity implements TypeExtension {
private static final long serialVersionUID = -8367626793791263551L;
public static final String TABLE = "TypeExtension";
- @Id
- private Long id;
-
@ManyToOne
private JPAGroup group;
@@ -57,17 +53,12 @@ public class JPATypeExtension extends AbstractEntity<Long> implements TypeExtens
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "typeExtension_id"),
+ @JoinColumn(name = "typeExtension_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name"))
+ @JoinColumn(name = "anyTypeClass_key"))
private List<JPAAnyTypeClass> auxClasses = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Group getGroup() {
return 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/policy/AbstractPolicy.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/AbstractPolicy.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/AbstractPolicy.java
index 5b72758..0d5b57c 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/AbstractPolicy.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/AbstractPolicy.java
@@ -19,31 +19,22 @@
package org.apache.syncope.core.persistence.jpa.entity.policy;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.validation.constraints.NotNull;
import org.apache.syncope.core.persistence.api.entity.Policy;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-public abstract class AbstractPolicy extends AbstractEntity<Long> implements Policy {
+public abstract class AbstractPolicy extends AbstractGeneratedKeyEntity implements Policy {
private static final long serialVersionUID = -5844833125843247458L;
- @Id
- private Long id;
-
@NotNull
private String description;
@Override
- public Long getKey() {
- return id;
- }
-
- @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/policy/JPAAccountPolicy.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountPolicy.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountPolicy.java
index f65adb4..237330b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountPolicy.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountPolicy.java
@@ -64,9 +64,9 @@ public class JPAAccountPolicy extends AbstractPolicy implements AccountPolicy {
*/
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "accountPolicy_id"),
+ @JoinColumn(name = "accountPolicy_key"),
inverseJoinColumns =
- @JoinColumn(name = "resource_name"))
+ @JoinColumn(name = "resource_key"))
private Set<JPAExternalResource> resources = new HashSet<>();
@Override
@@ -132,6 +132,6 @@ public class JPAAccountPolicy extends AbstractPolicy implements AccountPolicy {
@Override
public Set<String> getResourceNames() {
return CollectionUtils.collect(
- getResources(), EntityUtils.<String, ExternalResource>keyTransformer(), new HashSet<String>());
+ getResources(), EntityUtils.<ExternalResource>keyTransformer(), new HashSet<String>());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountRuleConfInstance.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountRuleConfInstance.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountRuleConfInstance.java
index d19c06e..7272c6e 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountRuleConfInstance.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAAccountRuleConfInstance.java
@@ -19,37 +19,28 @@
package org.apache.syncope.core.persistence.jpa.entity.policy;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.syncope.common.lib.policy.AccountRuleConf;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
import org.apache.syncope.core.persistence.api.entity.policy.AccountPolicy;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = JPAAccountRuleConfInstance.TABLE)
-public class JPAAccountRuleConfInstance extends AbstractEntity<Long> {
+public class JPAAccountRuleConfInstance extends AbstractGeneratedKeyEntity {
private static final long serialVersionUID = -2436055132955674610L;
public static final String TABLE = "AccountRuleConfInstance";
- @Id
- private Long id;
-
@Lob
private String serializedInstance;
@ManyToOne
private JPAAccountPolicy accountPolicy;
- @Override
- public Long getKey() {
- return id;
- }
-
public AccountPolicy getAccountPolicy() {
return accountPolicy;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPasswordRuleConfInstance.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPasswordRuleConfInstance.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPasswordRuleConfInstance.java
index dcc543a..788496f 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPasswordRuleConfInstance.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPasswordRuleConfInstance.java
@@ -19,37 +19,28 @@
package org.apache.syncope.core.persistence.jpa.entity.policy;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.syncope.common.lib.policy.PasswordRuleConf;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
import org.apache.syncope.core.persistence.api.entity.policy.PasswordPolicy;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = JPAPasswordRuleConfInstance.TABLE)
-public class JPAPasswordRuleConfInstance extends AbstractEntity<Long> {
+public class JPAPasswordRuleConfInstance extends AbstractGeneratedKeyEntity {
private static final long serialVersionUID = -2436055132955674610L;
public static final String TABLE = "PasswordRuleConfInstance";
- @Id
- private Long id;
-
@Lob
private String serializedInstance;
@ManyToOne
private JPAPasswordPolicy passwordPolicy;
- @Override
- public Long getKey() {
- return id;
- }
-
public PasswordPolicy getPasswordPolicy() {
return passwordPolicy;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/AbstractAnyTemplate.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/AbstractAnyTemplate.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/AbstractAnyTemplate.java
index ed6f581..591e9f3 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/AbstractAnyTemplate.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/AbstractAnyTemplate.java
@@ -25,12 +25,12 @@ import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
import org.apache.syncope.core.persistence.api.entity.AnyTemplate;
import org.apache.syncope.core.persistence.api.entity.AnyType;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyType;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyUtilsFactory;
@MappedSuperclass
-public abstract class AbstractAnyTemplate extends AbstractEntity<Long> implements AnyTemplate {
+public abstract class AbstractAnyTemplate extends AbstractGeneratedKeyEntity implements AnyTemplate {
private static final long serialVersionUID = -5280310945358790780L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java
index bc36174..f4bff24 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java
@@ -31,7 +31,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.ManyToOne;
@@ -55,13 +54,13 @@ import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
import org.apache.syncope.core.persistence.api.entity.AnyType;
import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractAnnotatedEntity;
import org.apache.syncope.core.persistence.jpa.entity.policy.JPAAccountPolicy;
import org.apache.syncope.core.persistence.jpa.entity.JPAConnInstance;
import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPasswordPolicy;
import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPullPolicy;
-import org.identityconnectors.framework.common.objects.ObjectClass;
import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractProvidedKeyEntity;
+import org.identityconnectors.framework.common.objects.ObjectClass;
/**
* Resource for propagation and pull.
@@ -69,19 +68,13 @@ import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy;
@Entity
@Table(name = JPAExternalResource.TABLE)
@ExternalResourceCheck
-public class JPAExternalResource extends AbstractAnnotatedEntity<String> implements ExternalResource {
+public class JPAExternalResource extends AbstractProvidedKeyEntity implements ExternalResource {
private static final long serialVersionUID = -6937712883512073278L;
public static final String TABLE = "ExternalResource";
/**
- * The resource identifier is the name.
- */
- @Id
- private String name;
-
- /**
* Should this resource enforce the mandatory constraints?
*/
@NotNull
@@ -156,7 +149,7 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme
@Column(name = "capabilityOverride")
@CollectionTable(name = "ExternalResource_capOverride",
joinColumns =
- @JoinColumn(name = "resource_name", referencedColumnName = "name"))
+ @JoinColumn(name = "resource_key", referencedColumnName = "key"))
private Set<ConnectorCapability> capabilitiesOverride = new HashSet<>();
/**
@@ -166,7 +159,7 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme
@Column(name = "actionClassName")
@CollectionTable(name = "ExternalResource_PropActions",
joinColumns =
- @JoinColumn(name = "resource_name", referencedColumnName = "name"))
+ @JoinColumn(name = "resource_key", referencedColumnName = "key"))
private List<String> propagationActionsClassNames = new ArrayList<>();
public JPAExternalResource() {
@@ -260,16 +253,6 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme
}
@Override
- public String getKey() {
- return name;
- }
-
- @Override
- public void setKey(final String name) {
- this.name = name;
- }
-
- @Override
public TraceLevel getCreateTraceLevel() {
return createTraceLevel;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMapping.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMapping.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMapping.java
index 63fb48d..0bd2440 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMapping.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMapping.java
@@ -24,7 +24,6 @@ import javax.persistence.Cacheable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@@ -35,20 +34,17 @@ import org.apache.syncope.common.lib.types.IntMappingType;
import org.apache.syncope.core.persistence.api.entity.resource.Mapping;
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.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = JPAMapping.TABLE)
@Cacheable
-public class JPAMapping extends AbstractEntity<Long> implements Mapping {
+public class JPAMapping extends AbstractGeneratedKeyEntity implements Mapping {
private static final long serialVersionUID = 4316047254916259158L;
public static final String TABLE = "Mapping";
- @Id
- private Long id;
-
@NotNull
@OneToOne
private JPAProvision provision;
@@ -62,11 +58,6 @@ public class JPAMapping extends AbstractEntity<Long> implements Mapping {
private String connObjectLink;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Provision getProvision() {
return provision;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMappingItem.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMappingItem.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMappingItem.java
index c3ee73b..ccc53ed 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMappingItem.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAMappingItem.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.Table;
@@ -40,20 +39,17 @@ import org.apache.syncope.common.lib.types.IntMappingType;
import org.apache.syncope.common.lib.types.MappingPurpose;
import org.apache.syncope.core.persistence.api.entity.resource.Mapping;
import org.apache.syncope.core.persistence.api.entity.resource.MappingItem;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = JPAMappingItem.TABLE)
@Cacheable
-public class JPAMappingItem extends AbstractEntity<Long> implements MappingItem {
+public class JPAMappingItem extends AbstractGeneratedKeyEntity implements MappingItem {
private static final long serialVersionUID = 7383601853619332424L;
public static final String TABLE = "MappingItem";
- @Id
- private Long id;
-
@ManyToOne
private JPAMapping mapping;
@@ -105,7 +101,7 @@ public class JPAMappingItem extends AbstractEntity<Long> implements MappingItem
@Column(name = "transformerClassName")
@CollectionTable(name = "MappingItem_Transformer",
joinColumns =
- @JoinColumn(name = "mappingItem_id", referencedColumnName = "id"))
+ @JoinColumn(name = "mappingItem_key", referencedColumnName = "key"))
private List<String> mappingItemTransformerClassNames = new ArrayList<>();
public JPAMappingItem() {
@@ -118,11 +114,6 @@ public class JPAMappingItem extends AbstractEntity<Long> implements MappingItem
}
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Mapping getMapping() {
return mapping;
}
@@ -161,7 +152,7 @@ public class JPAMappingItem extends AbstractEntity<Long> implements MappingItem
case UserKey:
case GroupKey:
case AnyObjectKey:
- name = "id";
+ name = "key";
break;
case Username:
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAProvision.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAProvision.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAProvision.java
index 4ae1043..96ca9a1 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAProvision.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAProvision.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Lob;
@@ -39,7 +38,7 @@ import org.apache.syncope.core.persistence.api.entity.AnyTypeClass;
import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.resource.Mapping;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyType;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyTypeClass;
import org.identityconnectors.framework.common.objects.ObjectClass;
@@ -47,16 +46,13 @@ import org.identityconnectors.framework.common.objects.SyncToken;
@Entity
@Table(name = JPAProvision.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "resource_name", "anyType_name" }))
-public class JPAProvision extends AbstractEntity<Long> implements Provision {
+ @UniqueConstraint(columnNames = { "resource_key", "anyType_key" }))
+public class JPAProvision extends AbstractGeneratedKeyEntity implements Provision {
private static final long serialVersionUID = -1807889487945989443L;
public static final String TABLE = "Provision";
- @Id
- private Long id;
-
@ManyToOne
private JPAExternalResource resource;
@@ -68,9 +64,9 @@ public class JPAProvision extends AbstractEntity<Long> implements Provision {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "provision_id"),
+ @JoinColumn(name = "provision_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name"))
+ @JoinColumn(name = "anyTypeClass_key"))
private List<JPAAnyTypeClass> auxClasses = new ArrayList<>();
@Lob
@@ -80,11 +76,6 @@ public class JPAProvision extends AbstractEntity<Long> implements Provision {
private JPAMapping mapping;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public ExternalResource getResource() {
return resource;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractTask.java
index 403ee77..e2cd682 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractTask.java
@@ -20,41 +20,31 @@ package org.apache.syncope.core.persistence.jpa.entity.task;
import java.util.ArrayList;
import java.util.List;
-
import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.task.Task;
import org.apache.syncope.core.persistence.api.entity.task.TaskExec;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = AbstractTask.TABLE)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "DTYPE")
-public abstract class AbstractTask extends AbstractEntity<Long> implements Task {
+public abstract class AbstractTask extends AbstractGeneratedKeyEntity implements Task {
private static final long serialVersionUID = 5837401178128177511L;
public static final String TABLE = "Task";
- @Id
- private Long id;
-
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "task")
private List<JPATaskExec> executions = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public boolean add(final TaskExec exec) {
checkType(exec, JPATaskExec.class);
return exec != null && !executions.contains((JPATaskExec) exec) && executions.add((JPATaskExec) exec);
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java
index 66e37ff..ce52e9a 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.task;
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.api.entity.task.AnyTemplatePullTask;
@Entity
@Table(name = JPAAnyTemplatePullTask.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "pullTask_id", "anyType_name" }))
+ @UniqueConstraint(columnNames = { "pullTask_key", "anyType_key" }))
public class JPAAnyTemplatePullTask extends AbstractAnyTemplate implements AnyTemplatePullTask {
private static final long serialVersionUID = 3517381731849788407L;
public static final String TABLE = "AnyTemplatePullTask";
- @Id
- private Long id;
-
@ManyToOne
private JPAPullTask pullTask;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public PullTask getPullTask() {
return pullTask;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPANotificationTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPANotificationTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPANotificationTask.java
index 83cc170..fe01d78 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPANotificationTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPANotificationTask.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity.task;
import java.util.HashSet;
import java.util.Set;
-
import javax.persistence.Basic;
import javax.persistence.CollectionTable;
import javax.persistence.Column;
@@ -55,13 +54,13 @@ public class JPANotificationTask extends AbstractTask implements NotificationTas
@Enumerated(EnumType.STRING)
private AnyTypeKind anyTypeKind;
- private Long anyKey;
+ private String anyKey;
@ElementCollection(fetch = FetchType.EAGER)
@Column(name = "address")
@CollectionTable(name = "NotificationTask_recipients",
joinColumns =
- @JoinColumn(name = "notificationTask_id", referencedColumnName = "id"))
+ @JoinColumn(name = "notificationTask_key", referencedColumnName = "key"))
private Set<String> recipients = new HashSet<>();
@NotNull
@@ -109,12 +108,12 @@ public class JPANotificationTask extends AbstractTask implements NotificationTas
}
@Override
- public Long getAnyKey() {
+ public String getAnyKey() {
return anyKey;
}
@Override
- public void setAnyKey(final Long anyKey) {
+ public void setAnyKey(final String anyKey) {
this.anyKey = anyKey;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPropagationTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPropagationTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPropagationTask.java
index bf86077..60331ec 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPropagationTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPropagationTask.java
@@ -76,7 +76,7 @@ public class JPAPropagationTask extends AbstractTask implements PropagationTask
private String anyType;
- private Long anyKey;
+ private String anyKey;
/**
* ExternalResource to which the propagation happens.
@@ -178,12 +178,12 @@ public class JPAPropagationTask extends AbstractTask implements PropagationTask
}
@Override
- public Long getAnyKey() {
+ public String getAnyKey() {
return anyKey;
}
@Override
- public void setAnyKey(final Long anyKey) {
+ public void setAnyKey(final String anyKey) {
this.anyKey = anyKey;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java
index 7dca06c..657a2f0 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java
@@ -64,7 +64,7 @@ public class JPAPullTask extends AbstractProvisioningTask implements PullTask {
@Column(name = "actionClassName")
@CollectionTable(name = "PullTask_actionsClassNames",
joinColumns =
- @JoinColumn(name = "pullTask_id", referencedColumnName = "id"))
+ @JoinColumn(name = "pullTask_key", referencedColumnName = "key"))
private Set<String> actionsClassNames = new HashSet<>();
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "pullTask")
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTask.java
index 1afb4ee..41ef5a2 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTask.java
@@ -47,7 +47,7 @@ public class JPAPushTask extends AbstractProvisioningTask implements PushTask {
@Column(name = "actionClassName")
@CollectionTable(name = "PushTask_actionsClassNames",
joinColumns =
- @JoinColumn(name = "pushTask_id", referencedColumnName = "id"))
+ @JoinColumn(name = "pushTask_key", referencedColumnName = "key"))
private Set<String> actionsClassNames = new HashSet<>();
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "pushTask")
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java
index 6051f1e..db237c7 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java
@@ -19,29 +19,25 @@
package org.apache.syncope.core.persistence.jpa.entity.task;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import javax.validation.constraints.NotNull;
import org.apache.syncope.core.persistence.api.entity.AnyType;
import org.apache.syncope.core.persistence.api.entity.task.PushTask;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPAAnyType;
import org.apache.syncope.core.persistence.api.entity.task.PushTaskAnyFilter;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
@Entity
@Table(name = JPAPushTaskAnyFilter.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "pushTask_id", "anyType_name" }))
-public class JPAPushTaskAnyFilter extends AbstractEntity<Long> implements PushTaskAnyFilter {
+ @UniqueConstraint(columnNames = { "pushTask_key", "anyType_key" }))
+public class JPAPushTaskAnyFilter extends AbstractGeneratedKeyEntity implements PushTaskAnyFilter {
private static final long serialVersionUID = 3517381731849788407L;
public static final String TABLE = "PushTaskAnyFilter";
- @Id
- private Long id;
-
@ManyToOne
private JPAPushTask pushTask;
@@ -52,11 +48,6 @@ public class JPAPushTaskAnyFilter extends AbstractEntity<Long> implements PushTa
private String fiql;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public PushTask getPushTask() {
return pushTask;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskExec.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskExec.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskExec.java
index a1712bb..533ae33 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskExec.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskExec.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.task;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.task.Task;
@@ -39,9 +38,6 @@ public class JPATaskExec extends AbstractExec implements TaskExec {
public static final String TABLE = "TaskExec";
- @Id
- private Long id;
-
/**
* The referred task.
*/
@@ -49,11 +45,6 @@ public class JPATaskExec extends AbstractExec implements TaskExec {
private AbstractTask task;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public Task getTask() {
return task;
}
@@ -67,7 +58,7 @@ public class JPATaskExec extends AbstractExec implements TaskExec {
@Override
public String toString() {
return new StringBuilder(getClass().getSimpleName()).append('{').
- append("id=").append(id).append(", ").
+ append("id=").append(getKey()).append(", ").
append("start=").append(start).append(", ").
append("end=").append(end).append(", ").
append("task=").append(task).append(", ").
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPADynRoleMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPADynRoleMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPADynRoleMembership.java
index 96575d1..085bf48 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPADynRoleMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPADynRoleMembership.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity.user;
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;
@@ -39,25 +38,17 @@ public class JPADynRoleMembership extends AbstractUDynMembership implements DynR
public static final String TABLE = "DynRoleMembership";
- @Id
- private Long id;
-
@OneToOne
private JPARole role;
@ManyToMany
@JoinTable(name = TABLE + "_User", joinColumns =
- @JoinColumn(name = "dynRoleMembership_id"),
+ @JoinColumn(name = "dynRoleMembership_key"),
inverseJoinColumns =
- @JoinColumn(name = "user_id"))
+ @JoinColumn(name = "user_key"))
private List<JPAUser> users = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
protected List<JPAUser> internalGetUsers() {
return users;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUDynGroupMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUDynGroupMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUDynGroupMembership.java
index a40bf91..e98b8b5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUDynGroupMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUDynGroupMembership.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity.user;
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;
@@ -39,25 +38,17 @@ public class JPAUDynGroupMembership extends AbstractUDynMembership implements UD
public static final String TABLE = "UDynGroupMembership";
- @Id
- private Long id;
-
@OneToOne
private JPAGroup group;
@ManyToMany
@JoinTable(name = TABLE + "_User", joinColumns =
- @JoinColumn(name = "uDynGroupMembership_id"),
+ @JoinColumn(name = "uDynGroupMembership_key"),
inverseJoinColumns =
- @JoinColumn(name = "user_id"))
+ @JoinColumn(name = "user_key"))
private List<JPAUser> users = new ArrayList<>();
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
protected List<JPAUser> internalGetUsers() {
return users;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUMembership.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUMembership.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUMembership.java
index 879ee87..dbdfc31 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUMembership.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUMembership.java
@@ -20,7 +20,6 @@ package org.apache.syncope.core.persistence.jpa.entity.user;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.syncope.core.persistence.api.entity.MembershipType;
@@ -28,34 +27,26 @@ import org.apache.syncope.core.persistence.api.entity.RelationshipType;
import org.apache.syncope.core.persistence.api.entity.group.Group;
import org.apache.syncope.core.persistence.api.entity.user.UMembership;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.group.JPAGroup;
@Entity
@Table(name = JPAUMembership.TABLE)
-public class JPAUMembership extends AbstractEntity<Long> implements UMembership {
+public class JPAUMembership extends AbstractGeneratedKeyEntity implements UMembership {
private static final long serialVersionUID = -14584450896965100L;
public static final String TABLE = "UMembership";
- @Id
- private Long id;
-
@ManyToOne
- @Column(name = "user_id")
+ @Column(name = "user_key")
private JPAUser leftEnd;
@ManyToOne
- @Column(name = "group_id")
+ @Column(name = "group_key")
private JPAGroup rightEnd;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public MembershipType getType() {
return MembershipType.getInstance();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttr.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttr.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttr.java
index 38fa9a7..84c9c84 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttr.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttr.java
@@ -23,7 +23,6 @@ import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@@ -45,9 +44,6 @@ public class JPAUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr
public static final String TABLE = "UPlainAttr";
- @Id
- private Long id;
-
/**
* The owner of this attribute.
*/
@@ -69,11 +65,6 @@ public class JPAUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr
private JPAUPlainAttrUniqueValue uniqueValue;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public User getOwner() {
return owner;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrUniqueValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrUniqueValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrUniqueValue.java
index 86dfdfa..0a0e3dc 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrUniqueValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrUniqueValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.user;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@@ -39,22 +38,14 @@ public class JPAUPlainAttrUniqueValue extends AbstractPlainAttrValue implements
public static final String TABLE = "UPlainAttrUniqueValue";
- @Id
- private Long id;
-
@OneToOne(optional = false)
private JPAUPlainAttr attribute;
@ManyToOne(optional = false)
- @JoinColumn(name = "schema_name")
+ @JoinColumn(name = "schema_key")
private JPAPlainSchema schema;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public UPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrValue.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrValue.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrValue.java
index 2eca97c..ce1607a 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrValue.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUPlainAttrValue.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.persistence.jpa.entity.user;
import javax.persistence.Entity;
-import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
@@ -39,19 +38,11 @@ public class JPAUPlainAttrValue extends AbstractPlainAttrValue implements UPlain
public static final String TABLE = "UPlainAttrValue";
- @Id
- private Long id;
-
@ManyToOne
@NotNull
private JPAUPlainAttr attribute;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public UPlainAttr getAttr() {
return attribute;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAURelationship.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAURelationship.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAURelationship.java
index 25fd3a1..1b3ed51 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAURelationship.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAURelationship.java
@@ -21,7 +21,6 @@ package org.apache.syncope.core.persistence.jpa.entity.user;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
-import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -30,39 +29,31 @@ import org.apache.syncope.core.persistence.api.entity.RelationshipType;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
import org.apache.syncope.core.persistence.api.entity.user.URelationship;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
+import org.apache.syncope.core.persistence.jpa.entity.AbstractGeneratedKeyEntity;
import org.apache.syncope.core.persistence.jpa.entity.JPARelationshipType;
import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAAnyObject;
@Entity
@Table(name = JPAURelationship.TABLE, uniqueConstraints =
- @UniqueConstraint(columnNames = { "type_name", "user_id", "anyObject_id" }))
-public class JPAURelationship extends AbstractEntity<Long> implements URelationship {
+ @UniqueConstraint(columnNames = { "type_key", "user_key", "anyObject_key" }))
+public class JPAURelationship extends AbstractGeneratedKeyEntity implements URelationship {
private static final long serialVersionUID = 2778494939240083204L;
public static final String TABLE = "URelationship";
- @Id
- private Long id;
-
@ManyToOne(fetch = FetchType.EAGER, optional = false)
private JPARelationshipType type;
@ManyToOne
- @Column(name = "user_id")
+ @Column(name = "user_key")
private JPAUser leftEnd;
@ManyToOne
- @Column(name = "anyObject_id")
+ @Column(name = "anyObject_key")
private JPAAnyObject rightEnd;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public RelationshipType getType() {
return type;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUser.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUser.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUser.java
index d8a1908..407d2cd 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUser.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAUser.java
@@ -33,7 +33,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.Lob;
@@ -80,9 +79,6 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
public static final String TABLE = "SyncopeUser";
- @Id
- private Long id;
-
@Column(nullable = true)
private String password;
@@ -91,9 +87,9 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "user_id"),
+ @JoinColumn(name = "user_key"),
inverseJoinColumns =
- @JoinColumn(name = "role_name"))
+ @JoinColumn(name = "role_key"))
private List<JPARole> roles = new ArrayList<>();
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
@@ -118,7 +114,7 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
@ElementCollection
@Column(name = "passwordHistoryValue")
@CollectionTable(name = "SyncopeUser_passwordHistory", joinColumns =
- @JoinColumn(name = "user_id", referencedColumnName = "id"))
+ @JoinColumn(name = "user_key", referencedColumnName = "key"))
private List<String> passwordHistory = new ArrayList<>();
/**
@@ -163,17 +159,17 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
*/
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "user_id"),
+ @JoinColumn(name = "user_key"),
inverseJoinColumns =
- @JoinColumn(name = "resource_name"))
+ @JoinColumn(name = "resource_key"))
@Valid
private List<JPAExternalResource> resources = new ArrayList<>();
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(joinColumns =
- @JoinColumn(name = "user_id"),
+ @JoinColumn(name = "user_key"),
inverseJoinColumns =
- @JoinColumn(name = "anyTypeClass_name"))
+ @JoinColumn(name = "anyTypeClass_key"))
private List<JPAAnyTypeClass> auxClasses = new ArrayList<>();
@OneToMany(cascade = CascadeType.ALL, mappedBy = "leftEnd")
@@ -191,11 +187,6 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
private String securityAnswer;
@Override
- public Long getKey() {
- return id;
- }
-
- @Override
public AnyType getType() {
return ApplicationContextProvider.getBeanFactory().getBean(AnyTypeDAO.class).findUser();
}
@@ -480,7 +471,7 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
}
@Override
- public URelationship getRelationship(final RelationshipType relationshipType, final Long anyObjectKey) {
+ public URelationship getRelationship(final RelationshipType relationshipType, final String anyObjectKey) {
return IterableUtils.find(getRelationships(), new Predicate<URelationship>() {
@Override
@@ -504,7 +495,7 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
}
@Override
- public Collection<? extends URelationship> getRelationships(final Long anyObjectKey) {
+ public Collection<? extends URelationship> getRelationships(final String anyObjectKey) {
return CollectionUtils.select(getRelationships(), new Predicate<URelationship>() {
@Override
@@ -526,7 +517,7 @@ public class JPAUser extends AbstractAny<UPlainAttr> implements User {
}
@Override
- public UMembership getMembership(final Long groupKey) {
+ public UMembership getMembership(final String groupKey) {
return IterableUtils.find(getMemberships(), new Predicate<UMembership>() {
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/openjpa/UUIDGenerator.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/openjpa/UUIDGenerator.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/openjpa/UUIDGenerator.java
new file mode 100644
index 0000000..bf572fa
--- /dev/null
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/openjpa/UUIDGenerator.java
@@ -0,0 +1,58 @@
+/*
+ * 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.openjpa;
+
+import com.fasterxml.uuid.Generators;
+import com.fasterxml.uuid.impl.RandomBasedGenerator;
+import org.apache.openjpa.kernel.Seq;
+import org.apache.openjpa.kernel.StoreContext;
+import org.apache.openjpa.meta.ClassMetaData;
+
+/**
+ * Fast UUID generator for OpenJPA entities.
+ */
+public class UUIDGenerator implements Seq {
+
+ private static final RandomBasedGenerator GENERATOR = Generators.randomBasedGenerator();
+
+ private String last;
+
+ @Override
+ public void setType(final int i) {
+ }
+
+ @Override
+ public Object next(final StoreContext sc, final ClassMetaData cmd) {
+ last = GENERATOR.generate().toString();
+ return last;
+ }
+
+ @Override
+ public Object current(final StoreContext sc, final ClassMetaData cmd) {
+ return last;
+ }
+
+ @Override
+ public void allocate(final int i, final StoreContext sc, final ClassMetaData cmd) {
+ }
+
+ @Override
+ public void close() {
+ }
+}