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 2018/11/24 07:07:36 UTC
[syncope] branch 2_1_X updated: [SYNCOPE-1395] Renaming in
preparation of supporting other DBMSes
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new cde9736 [SYNCOPE-1395] Renaming in preparation of supporting other DBMSes
cde9736 is described below
commit cde97361f51410758208f8e767e98c1a95dcd6a7
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Sat Nov 24 08:07:11 2018 +0100
[SYNCOPE-1395] Renaming in preparation of supporting other DBMSes
---
.../pom.xml | 16 ++-
.../core/persistence/api/dao/JPAJSONAnyDAO.java} | 2 +-
.../core/persistence/api/entity/JSONAny.java} | 9 +-
.../persistence/api/entity/JSONPlainAttr.java} | 8 +-
.../persistence/jpa/dao/JPAJSONAnyObjectDAO.java} | 20 +--
.../core/persistence/jpa/dao/JPAJSONConfDAO.java} | 2 +-
.../core/persistence/jpa/dao/JPAJSONGroupDAO.java} | 10 +-
.../persistence/jpa/dao/JPAJSONPlainAttrDAO.java} | 2 +-
.../jpa/dao/JPAJSONPlainAttrValueDAO.java} | 2 +-
.../jpa/dao/JPAJSONPlainSchemaDAO.java} | 2 +-
.../core/persistence/jpa/dao/JPAJSONUserDAO.java} | 22 +--
.../core/persistence/jpa/dao/PGJPAJSONAnyDAO.java} | 10 +-
.../jpa/dao/PGJPAJSONAnySearchDAO.java} | 6 +-
.../jpa/entity/JPAJSONEntityFactory.java} | 103 ++++++++------
.../jpa/entity/JPAJSONEntityListener.java} | 10 +-
.../jpa/entity/PGJPAJSONEntityFactory.java} | 22 +--
.../jpa/entity/anyobject/JPAJSONAPlainAttr.java} | 28 ++--
.../anyobject/JPAJSONAPlainAttrUniqueValue.java} | 8 +-
.../entity/anyobject/JPAJSONAPlainAttrValue.java} | 8 +-
.../jpa/entity/anyobject/JPAJSONAnyObject.java} | 28 ++--
.../anyobject/JPAJSONAnyObjectListener.java} | 16 +--
.../jpa/entity/conf/JPAJSONCPlainAttr.java} | 28 ++--
.../entity/conf/JPAJSONCPlainAttrUniqueValue.java} | 8 +-
.../jpa/entity/conf/JPAJSONCPlainAttrValue.java} | 8 +-
.../persistence/jpa/entity/conf/JPAJSONConf.java} | 22 +--
.../jpa/entity/conf/JPAJSONConfListener.java} | 16 +--
.../jpa/entity/group/JPAJSONGPlainAttr.java} | 28 ++--
.../group/JPAJSONGPlainAttrUniqueValue.java} | 8 +-
.../jpa/entity/group/JPAJSONGPlainAttrValue.java} | 8 +-
.../jpa/entity/group/JPAJSONGroup.java} | 22 +--
.../jpa/entity/group/JPAJSONGroupListener.java} | 16 +--
.../jpa/entity/user/JPAJSONUPlainAttr.java} | 28 ++--
.../entity/user/JPAJSONUPlainAttrUniqueValue.java} | 8 +-
.../jpa/entity/user/JPAJSONUPlainAttrValue.java} | 8 +-
.../persistence/jpa/entity/user/JPAJSONUser.java} | 24 ++--
.../jpa/entity/user/JPAJSONUserListener.java} | 16 +--
.../jpa/validation/entity/JPAJSONAnyCheck.java} | 4 +-
.../validation/entity/JPAJSONAnyValidator.java} | 6 +-
.../main/resources/META-INF/spring-orm-pgjsonb.xml | 64 +++++++--
.../src/main/resources/persistence-enhance.xml | 0
.../resources/pgjsonb}/domains/Master.properties | 0
.../src/main/resources/pgjsonb/indexes.xml | 0
.../main/resources/pgjsonb}/persistence.properties | 18 +--
.../src/main/resources/pgjsonb/views.xml | 0
.../src/test/resources/persistenceTest.xml | 0
.../resources/pgjsonb}/domains/MasterContent.xml | 0
.../src/test/resources/simplelogger.properties | 0
.../src/main/resources/indexes.xml | 63 ---------
.../src/main/resources/views.xml | 154 ---------------------
core/pom.xml | 2 +-
fit/core-reference/pom.xml | 7 +-
.../main/resources/pgjsonb/persistence.properties | 27 ----
.../systemadministration/dbms.adoc | 20 +--
53 files changed, 379 insertions(+), 568 deletions(-)
diff --git a/core/persistence-jpa-pgjsonb/pom.xml b/core/persistence-jpa-json/pom.xml
similarity index 94%
rename from core/persistence-jpa-pgjsonb/pom.xml
rename to core/persistence-jpa-json/pom.xml
index da125d2..dfd7bb2 100644
--- a/core/persistence-jpa-pgjsonb/pom.xml
+++ b/core/persistence-jpa-json/pom.xml
@@ -27,10 +27,10 @@ under the License.
<version>2.1.3-SNAPSHOT</version>
</parent>
- <name>Apache Syncope Core Persistence JPA PostgreSQL jsonb</name>
- <description>Apache Syncope Core Persistence JPA PostgreSQL jsonb</description>
+ <name>Apache Syncope Core Persistence JPA JSON</name>
+ <description>Apache Syncope Core Persistence JPA JSON</description>
<groupId>org.apache.syncope.core</groupId>
- <artifactId>syncope-core-persistence-jpa-pgjsonb</artifactId>
+ <artifactId>syncope-core-persistence-jpa-json</artifactId>
<packaging>jar</packaging>
<properties>
@@ -129,7 +129,7 @@ under the License.
<profiles>
<profile>
- <id>ut</id>
+ <id>postgres</id>
<dependencies>
<dependency>
@@ -227,9 +227,17 @@ under the License.
<filtering>true</filtering>
</testResource>
<testResource>
+ <directory>src/test/resources/pgjsonb</directory>
+ <filtering>true</filtering>
+ </testResource>
+ <testResource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</testResource>
+ <testResource>
+ <directory>src/main/resources/pgjsonb</directory>
+ <filtering>true</filtering>
+ </testResource>
</testResources>
</build>
</profile>
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/api/dao/PGAnyDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/dao/JPAJSONAnyDAO.java
similarity index 98%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/api/dao/PGAnyDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/dao/JPAJSONAnyDAO.java
index 2fecad7..9794cc8 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/api/dao/PGAnyDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/dao/JPAJSONAnyDAO.java
@@ -23,7 +23,7 @@ import org.apache.syncope.core.persistence.api.entity.Any;
import org.apache.syncope.core.persistence.api.entity.AnyUtils;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
-public interface PGAnyDAO {
+public interface JPAJSONAnyDAO {
<A extends Any<?>> List<A> findByDerAttrValue(
String table, AnyUtils anyUtils, String schemaKey, String value, boolean ignoreCaseMatch);
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONAny.java
similarity index 78%
copy from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java
copy to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONAny.java
index 005e616..1571566 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONAny.java
@@ -16,18 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.core.persistence.jpa.entity;
+package org.apache.syncope.core.persistence.api.entity;
import java.util.List;
-import org.apache.syncope.core.persistence.api.entity.Any;
-public interface PGJPAAny<A extends Any<?>> {
+public interface JSONAny<A extends Any<?>> {
String getPlainAttrsJSON();
void setPlainAttrsJSON(String plainAttrs);
- boolean add(PGPlainAttr<A> attr);
+ boolean add(JSONPlainAttr<A> attr);
- List<? extends PGPlainAttr<A>> getPlainAttrList();
+ List<? extends JSONPlainAttr<A>> getPlainAttrList();
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGPlainAttr.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONPlainAttr.java
similarity index 73%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGPlainAttr.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONPlainAttr.java
index a802d3c..78f7503 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGPlainAttr.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/api/entity/JSONPlainAttr.java
@@ -16,13 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.syncope.core.persistence.jpa.entity;
+package org.apache.syncope.core.persistence.api.entity;
-import org.apache.syncope.core.persistence.api.entity.Any;
-import org.apache.syncope.core.persistence.api.entity.PlainAttr;
-import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
-
-public interface PGPlainAttr<A extends Any<?>> extends PlainAttr<A> {
+public interface JSONPlainAttr<A extends Any<?>> extends PlainAttr<A> {
String getSchemaKey();
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyObjectDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONAnyObjectDAO.java
similarity index 76%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyObjectDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONAnyObjectDAO.java
index f821f7f..3e07af3 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyObjectDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONAnyObjectDAO.java
@@ -19,19 +19,19 @@
package org.apache.syncope.core.persistence.jpa.dao;
import java.util.List;
-import org.apache.syncope.core.persistence.api.dao.PGAnyDAO;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
-import org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject;
+import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
-public class PGJPAAnyObjectDAO extends JPAAnyObjectDAO {
+public class JPAJSONAnyObjectDAO extends JPAAnyObjectDAO {
- private PGAnyDAO anyDAO;
+ private JPAJSONAnyDAO anyDAO;
- private PGAnyDAO anyDAO() {
+ private JPAJSONAnyDAO anyDAO() {
if (anyDAO == null) {
- anyDAO = ApplicationContextProvider.getApplicationContext().getBean(PGAnyDAO.class);
+ anyDAO = ApplicationContextProvider.getApplicationContext().getBean(JPAJSONAnyDAO.class);
}
return anyDAO;
}
@@ -43,7 +43,7 @@ public class PGJPAAnyObjectDAO extends JPAAnyObjectDAO {
final PlainAttrValue attrValue,
final boolean ignoreCaseMatch) {
- return anyDAO().findByPlainAttrValue(PGJPAAnyObject.TABLE, anyUtils(), schemaKey, attrValue, ignoreCaseMatch);
+ return anyDAO().findByPlainAttrValue(JPAJSONAnyObject.TABLE, anyUtils(), schemaKey, attrValue, ignoreCaseMatch);
}
@Override
@@ -52,7 +52,7 @@ public class PGJPAAnyObjectDAO extends JPAAnyObjectDAO {
final PlainAttrValue attrUniqueValue,
final boolean ignoreCaseMatch) {
- return anyDAO().findByPlainAttrUniqueValue(PGJPAAnyObject.TABLE, anyUtils(),
+ return anyDAO().findByPlainAttrUniqueValue(JPAJSONAnyObject.TABLE, anyUtils(),
schemaKey, attrUniqueValue, ignoreCaseMatch);
}
@@ -63,12 +63,12 @@ public class PGJPAAnyObjectDAO extends JPAAnyObjectDAO {
final String value,
final boolean ignoreCaseMatch) {
- return anyDAO().findByDerAttrValue(PGJPAAnyObject.TABLE, anyUtils(), schemaKey, value, ignoreCaseMatch);
+ return anyDAO().findByDerAttrValue(JPAJSONAnyObject.TABLE, anyUtils(), schemaKey, value, ignoreCaseMatch);
}
@Override
public AnyObject save(final AnyObject anyObject) {
- anyDAO().checkBeforeSave(PGJPAAnyObject.TABLE, anyUtils(), anyObject);
+ anyDAO().checkBeforeSave(JPAJSONAnyObject.TABLE, anyUtils(), anyObject);
return super.save(anyObject);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAConfDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONConfDAO.java
similarity index 97%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAConfDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONConfDAO.java
index 130d730..52ad5da 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAConfDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONConfDAO.java
@@ -23,7 +23,7 @@ import org.apache.openjpa.util.ImplHelper;
import org.apache.syncope.core.persistence.api.entity.conf.CPlainAttr;
import org.apache.syncope.core.persistence.api.entity.conf.Conf;
-public class PGJPAConfDAO extends JPAConfDAO {
+public class JPAJSONConfDAO extends JPAConfDAO {
/**
* Marks the {@code plainAttrs} field as dirty, to force OpenJPA generating an update statement on the
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAGroupDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONGroupDAO.java
similarity index 91%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAGroupDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONGroupDAO.java
index e69252a..f6223ec 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAGroupDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONGroupDAO.java
@@ -19,19 +19,19 @@
package org.apache.syncope.core.persistence.jpa.dao;
import java.util.List;
-import org.apache.syncope.core.persistence.api.dao.PGAnyDAO;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.group.Group;
import org.apache.syncope.core.persistence.jpa.entity.group.JPAGroup;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
-public class PGJPAGroupDAO extends JPAGroupDAO {
+public class JPAJSONGroupDAO extends JPAGroupDAO {
- private PGAnyDAO anyDAO;
+ private JPAJSONAnyDAO anyDAO;
- private PGAnyDAO anyDAO() {
+ private JPAJSONAnyDAO anyDAO() {
if (anyDAO == null) {
- anyDAO = ApplicationContextProvider.getApplicationContext().getBean(PGAnyDAO.class);
+ anyDAO = ApplicationContextProvider.getApplicationContext().getBean(JPAJSONAnyDAO.class);
}
return anyDAO;
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrDAO.java
similarity index 93%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrDAO.java
index 5ede5a6..55d13a8 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrDAO.java
@@ -22,7 +22,7 @@ import org.apache.syncope.core.persistence.api.dao.PlainAttrDAO;
import org.apache.syncope.core.persistence.api.entity.Any;
import org.apache.syncope.core.persistence.api.entity.PlainAttr;
-public class PGJPAPlainAttrDAO extends AbstractDAO<PlainAttr<?>> implements PlainAttrDAO {
+public class JPAJSONPlainAttrDAO extends AbstractDAO<PlainAttr<?>> implements PlainAttrDAO {
@Override
@SuppressWarnings("unchecked")
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrValueDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrValueDAO.java
similarity index 92%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrValueDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrValueDAO.java
index c1d9c54..2976148 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainAttrValueDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainAttrValueDAO.java
@@ -23,7 +23,7 @@ import org.apache.syncope.core.persistence.api.entity.AnyUtils;
import org.apache.syncope.core.persistence.api.entity.PlainAttr;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
-public class PGJPAPlainAttrValueDAO extends AbstractDAO<PlainAttrValue> implements PlainAttrValueDAO {
+public class JPAJSONPlainAttrValueDAO extends AbstractDAO<PlainAttrValue> implements PlainAttrValueDAO {
@Override
public void deleteAll(final PlainAttr<?> attr, final AnyUtils anyUtils) {
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainSchemaDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainSchemaDAO.java
similarity index 95%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainSchemaDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainSchemaDAO.java
index ba8b97b..63349ba 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAPlainSchemaDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONPlainSchemaDAO.java
@@ -23,7 +23,7 @@ import java.util.List;
import org.apache.syncope.core.persistence.api.entity.PlainAttr;
import org.apache.syncope.core.persistence.api.entity.PlainSchema;
-public class PGJPAPlainSchemaDAO extends JPAPlainSchemaDAO {
+public class JPAJSONPlainSchemaDAO extends JPAPlainSchemaDAO {
@Override
public <T extends PlainAttr<?>> List<T> findAttrs(final PlainSchema schema, final Class<T> reference) {
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAUserDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONUserDAO.java
similarity index 75%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAUserDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONUserDAO.java
index f1c420f..62d804c 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAUserDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAJSONUserDAO.java
@@ -21,19 +21,19 @@ package org.apache.syncope.core.persistence.jpa.dao;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
-import org.apache.syncope.core.persistence.api.dao.PGAnyDAO;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.user.PGJPAUser;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
-public class PGJPAUserDAO extends JPAUserDAO {
+public class JPAJSONUserDAO extends JPAUserDAO {
- private PGAnyDAO anyDAO;
+ private JPAJSONAnyDAO anyDAO;
- private PGAnyDAO anyDAO() {
+ private JPAJSONAnyDAO anyDAO() {
if (anyDAO == null) {
- anyDAO = ApplicationContextProvider.getApplicationContext().getBean(PGAnyDAO.class);
+ anyDAO = ApplicationContextProvider.getApplicationContext().getBean(JPAJSONAnyDAO.class);
}
return anyDAO;
}
@@ -45,7 +45,7 @@ public class PGJPAUserDAO extends JPAUserDAO {
final PlainAttrValue attrValue,
final boolean ignoreCaseMatch) {
- return anyDAO().findByPlainAttrValue(PGJPAUser.TABLE, anyUtils(), schemaKey, attrValue, ignoreCaseMatch);
+ return anyDAO().findByPlainAttrValue(JPAJSONUser.TABLE, anyUtils(), schemaKey, attrValue, ignoreCaseMatch);
}
@Override
@@ -54,7 +54,7 @@ public class PGJPAUserDAO extends JPAUserDAO {
final PlainAttrValue attrUniqueValue,
final boolean ignoreCaseMatch) {
- return anyDAO().findByPlainAttrUniqueValue(PGJPAUser.TABLE, anyUtils(),
+ return anyDAO().findByPlainAttrUniqueValue(JPAJSONUser.TABLE, anyUtils(),
schemaKey, attrUniqueValue, ignoreCaseMatch);
}
@@ -65,18 +65,18 @@ public class PGJPAUserDAO extends JPAUserDAO {
final String value,
final boolean ignoreCaseMatch) {
- return anyDAO().findByDerAttrValue(PGJPAUser.TABLE, anyUtils(), schemaKey, value, ignoreCaseMatch);
+ return anyDAO().findByDerAttrValue(JPAJSONUser.TABLE, anyUtils(), schemaKey, value, ignoreCaseMatch);
}
@Override
public User save(final User user) {
- anyDAO().checkBeforeSave(PGJPAUser.TABLE, anyUtils(), user);
+ anyDAO().checkBeforeSave(JPAJSONUser.TABLE, anyUtils(), user);
return super.save(user);
}
@Override
public Pair<Set<String>, Set<String>> saveAndGetDynGroupMembs(final User user) {
- anyDAO().checkBeforeSave(PGJPAUser.TABLE, anyUtils(), user);
+ anyDAO().checkBeforeSave(JPAJSONUser.TABLE, anyUtils(), user);
return super.saveAndGetDynGroupMembs(user);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnyDAO.java
similarity index 97%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnyDAO.java
index 030bba8..94bb72a 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnyDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnyDAO.java
@@ -35,7 +35,6 @@ import org.apache.commons.jexl3.parser.Token;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.core.persistence.api.dao.DerSchemaDAO;
import org.apache.syncope.core.persistence.api.dao.DuplicateException;
-import org.apache.syncope.core.persistence.api.dao.PGAnyDAO;
import org.apache.syncope.core.persistence.api.dao.PlainSchemaDAO;
import org.apache.syncope.core.persistence.api.entity.Any;
import org.apache.syncope.core.persistence.api.entity.AnyUtils;
@@ -45,15 +44,16 @@ import org.apache.syncope.core.persistence.api.entity.PlainAttrUniqueValue;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.PlainSchema;
import org.apache.syncope.core.persistence.jpa.entity.AbstractEntity;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
import org.apache.syncope.core.spring.security.AuthContextUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
@Repository
-public class PGJPAAnyDAO extends AbstractDAO<AbstractEntity> implements PGAnyDAO {
+public class PGJPAJSONAnyDAO extends AbstractDAO<AbstractEntity> implements JPAJSONAnyDAO {
@Autowired
private PlainSchemaDAO plainSchemaDAO;
@@ -118,7 +118,7 @@ public class PGJPAAnyDAO extends AbstractDAO<AbstractEntity> implements PGAnyDAO
if (attrValue instanceof PlainAttrUniqueValue) {
container.setUniqueValue((PlainAttrUniqueValue) attrValue);
} else {
- ((PGPlainAttr) container).add(attrValue);
+ ((JSONPlainAttr) container).add(attrValue);
}
return "plainAttrs @> '" + POJOHelper.serialize(Arrays.asList(container)) + "'::jsonb";
}
@@ -333,7 +333,7 @@ public class PGJPAAnyDAO extends AbstractDAO<AbstractEntity> implements PGAnyDAO
// check UNIQUE constraints
any.getPlainAttrs().stream().
filter(attr -> attr.getUniqueValue() != null).
- map(PGPlainAttr.class::cast).
+ map(JSONPlainAttr.class::cast).
forEach(attr -> {
String schemaKey = attr.getSchemaKey();
List<A> others = findByPlainAttrValue(table, anyUtils, schemaKey, attr.getUniqueValue(), false);
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
similarity index 97%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
index 0fa44f0..f240705 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAAnySearchDAO.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/dao/PGJPAJSONAnySearchDAO.java
@@ -29,10 +29,10 @@ import org.apache.syncope.core.persistence.api.entity.PlainAttr;
import org.apache.syncope.core.persistence.api.entity.PlainAttrUniqueValue;
import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.PlainSchema;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
-public class PGJPAAnySearchDAO extends JPAAnySearchDAO {
+public class PGJPAJSONAnySearchDAO extends JPAAnySearchDAO {
@Override
SearchSupport buildSearchSupport(final AnyTypeKind kind) {
@@ -110,7 +110,7 @@ public class PGJPAAnySearchDAO extends JPAAnySearchDAO {
if (attrValue instanceof PlainAttrUniqueValue) {
container.setUniqueValue((PlainAttrUniqueValue) attrValue);
} else {
- ((PGPlainAttr) container).add(attrValue);
+ ((JSONPlainAttr) container).add(attrValue);
}
query.append("plainAttrs @> '").
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityFactory.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityFactory.java
similarity index 53%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityFactory.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityFactory.java
index 0054d3f..bcd046d 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityFactory.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityFactory.java
@@ -18,7 +18,7 @@
*/
package org.apache.syncope.core.persistence.jpa.entity;
-import org.apache.syncope.core.persistence.api.dao.AnySearchDAO;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
import org.apache.syncope.core.persistence.api.entity.Entity;
import org.apache.syncope.core.persistence.api.entity.anyobject.APlainAttr;
import org.apache.syncope.core.persistence.api.entity.anyobject.APlainAttrUniqueValue;
@@ -36,26 +36,32 @@ import org.apache.syncope.core.persistence.api.entity.user.UPlainAttr;
import org.apache.syncope.core.persistence.api.entity.user.UPlainAttrUniqueValue;
import org.apache.syncope.core.persistence.api.entity.user.UPlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.dao.PGJPAAnySearchDAO;
-import org.apache.syncope.core.persistence.jpa.entity.anyobject.PGAPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.anyobject.PGAPlainAttrUniqueValue;
-import org.apache.syncope.core.persistence.jpa.entity.anyobject.PGAPlainAttrValue;
-import org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject;
-import org.apache.syncope.core.persistence.jpa.entity.conf.PGCPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.conf.PGCPlainAttrUniqueValue;
-import org.apache.syncope.core.persistence.jpa.entity.conf.PGCPlainAttrValue;
-import org.apache.syncope.core.persistence.jpa.entity.conf.PGJPAConf;
-import org.apache.syncope.core.persistence.jpa.entity.group.PGGPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.group.PGGPlainAttrUniqueValue;
-import org.apache.syncope.core.persistence.jpa.entity.group.PGGPlainAttrValue;
-import org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup;
-import org.apache.syncope.core.persistence.jpa.entity.user.PGJPAUser;
-import org.apache.syncope.core.persistence.jpa.entity.user.PGUPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.user.PGUPlainAttrUniqueValue;
-import org.apache.syncope.core.persistence.jpa.entity.user.PGUPlainAttrValue;
+import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAPlainAttrUniqueValue;
+import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAPlainAttrValue;
+import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject;
+import org.apache.syncope.core.persistence.jpa.entity.conf.JPAJSONCPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.conf.JPAJSONCPlainAttrUniqueValue;
+import org.apache.syncope.core.persistence.jpa.entity.conf.JPAJSONCPlainAttrValue;
+import org.apache.syncope.core.persistence.jpa.entity.conf.JPAJSONConf;
+import org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGPlainAttrUniqueValue;
+import org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGPlainAttrValue;
+import org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUPlainAttrUniqueValue;
+import org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUPlainAttrValue;
import org.apache.syncope.core.spring.security.SecureRandomUtils;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.support.AbstractBeanDefinition;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
-public class PGJPAEntityFactory extends JPAEntityFactory {
+public abstract class JPAJSONEntityFactory extends JPAEntityFactory implements InitializingBean, BeanFactoryAware {
+
+ private DefaultListableBeanFactory beanFactory;
@Override
@SuppressWarnings("unchecked")
@@ -63,41 +69,41 @@ public class PGJPAEntityFactory extends JPAEntityFactory {
E result;
if (reference.equals(User.class)) {
- result = (E) new PGJPAUser();
- ((PGJPAUser) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
+ result = (E) new JPAJSONUser();
+ ((JPAJSONUser) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
} else if (reference.equals(Group.class)) {
- result = (E) new PGJPAGroup();
- ((PGJPAGroup) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
+ result = (E) new JPAJSONGroup();
+ ((JPAJSONGroup) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
} else if (reference.equals(AnyObject.class)) {
- result = (E) new PGJPAAnyObject();
- ((PGJPAAnyObject) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
+ result = (E) new JPAJSONAnyObject();
+ ((JPAJSONAnyObject) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
} else if (reference.equals(Conf.class)) {
- result = (E) new PGJPAConf();
- ((PGJPAConf) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
+ result = (E) new JPAJSONConf();
+ ((JPAJSONConf) result).setKey(SecureRandomUtils.generateRandomUUID().toString());
} else if (reference.equals(APlainAttr.class)) {
- result = (E) new PGAPlainAttr();
+ result = (E) new JPAJSONAPlainAttr();
} else if (reference.equals(APlainAttrValue.class)) {
- result = (E) new PGAPlainAttrValue();
+ result = (E) new JPAJSONAPlainAttrValue();
} else if (reference.equals(APlainAttrUniqueValue.class)) {
- result = (E) new PGAPlainAttrUniqueValue();
+ result = (E) new JPAJSONAPlainAttrUniqueValue();
} else if (reference.equals(CPlainAttr.class)) {
- result = (E) new PGCPlainAttr();
+ result = (E) new JPAJSONCPlainAttr();
} else if (reference.equals(CPlainAttrValue.class)) {
- result = (E) new PGCPlainAttrValue();
+ result = (E) new JPAJSONCPlainAttrValue();
} else if (reference.equals(CPlainAttrUniqueValue.class)) {
- result = (E) new PGCPlainAttrUniqueValue();
+ result = (E) new JPAJSONCPlainAttrUniqueValue();
} else if (reference.equals(GPlainAttr.class)) {
- result = (E) new PGGPlainAttr();
+ result = (E) new JPAJSONGPlainAttr();
} else if (reference.equals(GPlainAttrValue.class)) {
- result = (E) new PGGPlainAttrValue();
+ result = (E) new JPAJSONGPlainAttrValue();
} else if (reference.equals(GPlainAttrUniqueValue.class)) {
- result = (E) new PGGPlainAttrUniqueValue();
+ result = (E) new JPAJSONGPlainAttrUniqueValue();
} else if (reference.equals(UPlainAttr.class)) {
- result = (E) new PGUPlainAttr();
+ result = (E) new JPAJSONUPlainAttr();
} else if (reference.equals(UPlainAttrValue.class)) {
- result = (E) new PGUPlainAttrValue();
+ result = (E) new JPAJSONUPlainAttrValue();
} else if (reference.equals(UPlainAttrUniqueValue.class)) {
- result = (E) new PGUPlainAttrUniqueValue();
+ result = (E) new JPAJSONUPlainAttrUniqueValue();
} else {
result = super.newEntity(reference);
}
@@ -107,26 +113,33 @@ public class PGJPAEntityFactory extends JPAEntityFactory {
@Override
public Class<? extends User> userClass() {
- return PGJPAUser.class;
+ return JPAJSONUser.class;
}
@Override
public Class<? extends Group> groupClass() {
- return PGJPAGroup.class;
+ return JPAJSONGroup.class;
}
@Override
public Class<? extends AnyObject> anyObjectClass() {
- return PGJPAAnyObject.class;
+ return JPAJSONAnyObject.class;
}
@Override
public Class<? extends Conf> confClass() {
- return PGJPAConf.class;
+ return JPAJSONConf.class;
+ }
+
+ protected abstract Class<? extends JPAJSONAnyDAO> jpaJSONAnyDAOClass();
+
+ @Override
+ public void setBeanFactory(final BeanFactory beanFactory) {
+ this.beanFactory = (DefaultListableBeanFactory) beanFactory;
}
@Override
- public Class<? extends AnySearchDAO> anySearchDAOClass() {
- return PGJPAAnySearchDAO.class;
+ public void afterPropertiesSet() throws Exception {
+ beanFactory.createBean(jpaJSONAnyDAOClass(), AbstractBeanDefinition.AUTOWIRE_BY_TYPE, false);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityListener.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityListener.java
similarity index 81%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityListener.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityListener.java
index 2c4c4e4..d58043f 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAEntityListener.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJSONEntityListener.java
@@ -19,15 +19,17 @@
package org.apache.syncope.core.persistence.jpa.entity;
import java.util.List;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
import org.apache.syncope.core.persistence.api.entity.Any;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
-public abstract class PGJPAEntityListener<A extends Any<?>> {
+public abstract class JPAJSONEntityListener<A extends Any<?>> {
- protected abstract List<? extends PGPlainAttr<A>> getValues(String plainAttrsJSON);
+ protected abstract List<? extends JSONPlainAttr<A>> getValues(String plainAttrsJSON);
@SuppressWarnings("unchecked")
- protected void json2list(final PGJPAAny<A> entity, final boolean clearFirst) {
+ protected void json2list(final JSONAny<A> entity, final boolean clearFirst) {
if (clearFirst) {
entity.getPlainAttrList().clear();
}
@@ -44,7 +46,7 @@ public abstract class PGJPAEntityListener<A extends Any<?>> {
}
}
- protected void list2json(final PGJPAAny<A> entity) {
+ protected void list2json(final JSONAny<A> entity) {
entity.setPlainAttrsJSON(entity.getPlainAttrList().isEmpty()
? "[{}]"
: POJOHelper.serialize(entity.getPlainAttrList()));
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAJSONEntityFactory.java
similarity index 59%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAJSONEntityFactory.java
index 005e616..998fc73 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAAny.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/PGJPAJSONEntityFactory.java
@@ -18,16 +18,20 @@
*/
package org.apache.syncope.core.persistence.jpa.entity;
-import java.util.List;
-import org.apache.syncope.core.persistence.api.entity.Any;
+import org.apache.syncope.core.persistence.api.dao.AnySearchDAO;
+import org.apache.syncope.core.persistence.api.dao.JPAJSONAnyDAO;
+import org.apache.syncope.core.persistence.jpa.dao.PGJPAJSONAnyDAO;
+import org.apache.syncope.core.persistence.jpa.dao.PGJPAJSONAnySearchDAO;
-public interface PGJPAAny<A extends Any<?>> {
+public class PGJPAJSONEntityFactory extends JPAJSONEntityFactory {
- String getPlainAttrsJSON();
+ @Override
+ public Class<? extends AnySearchDAO> anySearchDAOClass() {
+ return PGJPAJSONAnySearchDAO.class;
+ }
- void setPlainAttrsJSON(String plainAttrs);
-
- boolean add(PGPlainAttr<A> attr);
-
- List<? extends PGPlainAttr<A>> getPlainAttrList();
+ @Override
+ protected Class<? extends JPAJSONAnyDAO> jpaJSONAnyDAOClass() {
+ return PGJPAJSONAnyDAO.class;
+ }
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttr.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttr.java
similarity index 85%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttr.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttr.java
index 292107e..a2768ee 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttr.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttr.java
@@ -38,12 +38,12 @@ import org.apache.syncope.core.persistence.api.entity.anyobject.APlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr;
import org.apache.syncope.core.persistence.jpa.entity.JPAPlainSchema;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
@JsonIgnoreProperties("valuesAsStrings")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlainAttr, PGPlainAttr<AnyObject> {
+public class JPAJSONAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlainAttr, JSONPlainAttr<AnyObject> {
private static final long serialVersionUID = 806271775349587902L;
@@ -51,7 +51,7 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
* The owner of this attribute.
*/
@JsonIgnore
- private PGJPAAnyObject owner;
+ private JPAJSONAnyObject owner;
@JsonProperty
private String schema;
@@ -65,13 +65,13 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
/**
* Values of this attribute (if schema is not UNIQUE).
*/
- private final List<PGAPlainAttrValue> values = new ArrayList<>();
+ private final List<JPAJSONAPlainAttrValue> values = new ArrayList<>();
/**
* Value of this attribute (if schema is UNIQUE).
*/
@JsonProperty
- private PGAPlainAttrUniqueValue uniqueValue;
+ private JPAJSONAPlainAttrUniqueValue uniqueValue;
@Override
public AnyObject getOwner() {
@@ -80,8 +80,8 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
@Override
public void setOwner(final AnyObject owner) {
- checkType(owner, PGJPAAnyObject.class);
- this.owner = (PGJPAAnyObject) owner;
+ checkType(owner, JPAJSONAnyObject.class);
+ this.owner = (JPAJSONAnyObject) owner;
}
@JsonIgnore
@@ -133,8 +133,8 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
@Override
protected boolean addForMultiValue(final PlainAttrValue attrValue) {
- checkType(attrValue, PGAPlainAttrValue.class);
- return values.add((PGAPlainAttrValue) attrValue);
+ checkType(attrValue, JPAJSONAPlainAttrValue.class);
+ return values.add((JPAJSONAPlainAttrValue) attrValue);
}
@Override
@@ -148,20 +148,20 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
}
@JsonIgnore
- public List<PGAPlainAttrValue> getPGValues() {
+ public List<JPAJSONAPlainAttrValue> getPGValues() {
return values;
}
@Override
- public PGAPlainAttrUniqueValue getUniqueValue() {
+ public JPAJSONAPlainAttrUniqueValue getUniqueValue() {
return uniqueValue;
}
@JsonIgnore
@Override
public void setUniqueValue(final PlainAttrUniqueValue uniqueValue) {
- checkType(uniqueValue, PGAPlainAttrUniqueValue.class);
- this.uniqueValue = (PGAPlainAttrUniqueValue) uniqueValue;
+ checkType(uniqueValue, JPAJSONAPlainAttrUniqueValue.class);
+ this.uniqueValue = (JPAJSONAPlainAttrUniqueValue) uniqueValue;
}
@Override
@@ -185,7 +185,7 @@ public class PGAPlainAttr extends AbstractPlainAttr<AnyObject> implements APlain
if (getClass() != obj.getClass()) {
return false;
}
- final PGAPlainAttr other = (PGAPlainAttr) obj;
+ final JPAJSONAPlainAttr other = (JPAJSONAPlainAttr) obj;
return new EqualsBuilder().
append(schema, other.schema).
append(membership, other.membership).
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrUniqueValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrUniqueValue.java
similarity index 89%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrUniqueValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrUniqueValue.java
index dd24599..cd8247e 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrUniqueValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrUniqueValue.java
@@ -29,12 +29,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGAPlainAttrUniqueValue extends AbstractPlainAttrValue implements APlainAttrUniqueValue {
+public class JPAJSONAPlainAttrUniqueValue extends AbstractPlainAttrValue implements APlainAttrUniqueValue {
private static final long serialVersionUID = -4053996864791245312L;
@JsonIgnore
- private PGAPlainAttr attr;
+ private JPAJSONAPlainAttr attr;
@Override
public APlainAttr getAttr() {
@@ -43,8 +43,8 @@ public class PGAPlainAttrUniqueValue extends AbstractPlainAttrValue implements A
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGAPlainAttr.class);
- this.attr = (PGAPlainAttr) attr;
+ checkType(attr, JPAJSONAPlainAttr.class);
+ this.attr = (JPAJSONAPlainAttr) attr;
}
@JsonIgnore
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrValue.java
similarity index 88%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrValue.java
index b3b76fd..d4815d3 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGAPlainAttrValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAPlainAttrValue.java
@@ -28,12 +28,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGAPlainAttrValue extends AbstractPlainAttrValue implements APlainAttrValue {
+public class JPAJSONAPlainAttrValue extends AbstractPlainAttrValue implements APlainAttrValue {
private static final long serialVersionUID = 1832825176101443555L;
@JsonIgnore
- private PGAPlainAttr attr;
+ private JPAJSONAPlainAttr attr;
@Override
public APlainAttr getAttr() {
@@ -42,7 +42,7 @@ public class PGAPlainAttrValue extends AbstractPlainAttrValue implements APlainA
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGAPlainAttr.class);
- this.attr = (PGAPlainAttr) attr;
+ checkType(attr, JPAJSONAPlainAttr.class);
+ this.attr = (JPAJSONAPlainAttr) attr;
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObject.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObject.java
similarity index 81%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObject.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObject.java
index 568b533..df8bb8a 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObject.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObject.java
@@ -23,34 +23,30 @@ import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
-import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
-import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.syncope.core.persistence.api.entity.Membership;
import org.apache.syncope.core.persistence.api.entity.anyobject.AMembership;
import org.apache.syncope.core.persistence.api.entity.anyobject.APlainAttr;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAAny;
-import org.apache.syncope.core.persistence.jpa.validation.entity.PGJPAAnyCheck;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
+import org.apache.syncope.core.persistence.jpa.validation.entity.JPAJSONAnyCheck;
@Entity
@Table(name = JPAAnyObject.TABLE)
-@EntityListeners({ PGJPAAnyObjectListener.class })
-@PGJPAAnyCheck
-public class PGJPAAnyObject extends JPAAnyObject implements PGJPAAny<AnyObject>, AnyObject {
+@EntityListeners({ JPAJSONAnyObjectListener.class })
+@JPAJSONAnyCheck
+public class JPAJSONAnyObject extends JPAAnyObject implements JSONAny<AnyObject>, AnyObject {
private static final long serialVersionUID = -8543654943709531885L;
- @Lob
- @Column(columnDefinition = "jsonb")
private String plainAttrs;
@Transient
- private final List<PGAPlainAttr> plainAttrList = new ArrayList<>();
+ private final List<JPAJSONAPlainAttr> plainAttrList = new ArrayList<>();
@Override
public String getPlainAttrsJSON() {
@@ -63,26 +59,26 @@ public class PGJPAAnyObject extends JPAAnyObject implements PGJPAAny<AnyObject>,
}
@Override
- public List<PGAPlainAttr> getPlainAttrList() {
+ public List<JPAJSONAPlainAttr> getPlainAttrList() {
return plainAttrList;
}
@Override
- public boolean add(final PGPlainAttr<AnyObject> attr) {
+ public boolean add(final JSONPlainAttr<AnyObject> attr) {
return add((APlainAttr) attr);
}
@Override
public boolean add(final APlainAttr attr) {
- checkType(attr, PGAPlainAttr.class);
- return plainAttrList.add((PGAPlainAttr) attr);
+ checkType(attr, JPAJSONAPlainAttr.class);
+ return plainAttrList.add((JPAJSONAPlainAttr) attr);
}
@Override
public boolean remove(final APlainAttr attr) {
return plainAttrList.removeIf(pgattr
-> pgattr.getSchemaKey().equals(attr.getSchema().getKey())
- && Objects.equals(pgattr.getMembershipKey(), ((PGAPlainAttr) attr).getMembershipKey()));
+ && Objects.equals(pgattr.getMembershipKey(), ((JPAJSONAPlainAttr) attr).getMembershipKey()));
}
@Override
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObjectListener.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObjectListener.java
similarity index 74%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObjectListener.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObjectListener.java
index 112a676..ad03fc5 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/PGJPAAnyObjectListener.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/anyobject/JPAJSONAnyObjectListener.java
@@ -26,32 +26,32 @@ import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityListener;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
-public class PGJPAAnyObjectListener extends PGJPAEntityListener<AnyObject> {
+public class JPAJSONAnyObjectListener extends JPAJSONEntityListener<AnyObject> {
@Override
- protected List<? extends PGPlainAttr<AnyObject>> getValues(final String plainAttrsJSON) {
- return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<PGAPlainAttr>>() {
+ protected List<? extends JSONPlainAttr<AnyObject>> getValues(final String plainAttrsJSON) {
+ return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<JPAJSONAPlainAttr>>() {
});
}
@PostLoad
- public void read(final PGJPAAnyObject anyObject) {
+ public void read(final JPAJSONAnyObject anyObject) {
super.json2list(anyObject, false);
}
@PrePersist
@PreUpdate
- public void save(final PGJPAAnyObject anyObject) {
+ public void save(final JPAJSONAnyObject anyObject) {
super.list2json(anyObject);
}
@PostPersist
@PostUpdate
- public void readAfterSave(final PGJPAAnyObject anyObject) {
+ public void readAfterSave(final JPAJSONAnyObject anyObject) {
super.json2list(anyObject, true);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttr.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttr.java
similarity index 83%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttr.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttr.java
index a45d7d5..4979d17 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttr.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttr.java
@@ -36,12 +36,12 @@ import org.apache.syncope.core.persistence.api.entity.conf.CPlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.conf.Conf;
import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr;
import org.apache.syncope.core.persistence.jpa.entity.JPAPlainSchema;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
@JsonIgnoreProperties("valuesAsStrings")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr, PGPlainAttr<Conf> {
+public class JPAJSONCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr, JSONPlainAttr<Conf> {
private static final long serialVersionUID = 806271775349587902L;
@@ -49,7 +49,7 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
* The owner of this attribute.
*/
@JsonIgnore
- private PGJPAConf owner;
+ private JPAJSONConf owner;
@JsonProperty
private String schema;
@@ -57,13 +57,13 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
/**
* Values of this attribute (if schema is not UNIQUE).
*/
- private final List<PGCPlainAttrValue> values = new ArrayList<>();
+ private final List<JPAJSONCPlainAttrValue> values = new ArrayList<>();
/**
* Value of this attribute (if schema is UNIQUE).
*/
@JsonProperty
- private PGCPlainAttrUniqueValue uniqueValue;
+ private JPAJSONCPlainAttrUniqueValue uniqueValue;
@Override
public Conf getOwner() {
@@ -72,8 +72,8 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
@Override
public void setOwner(final Conf owner) {
- checkType(owner, PGJPAConf.class);
- this.owner = (PGJPAConf) owner;
+ checkType(owner, JPAJSONConf.class);
+ this.owner = (JPAJSONConf) owner;
}
@JsonIgnore
@@ -102,8 +102,8 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
@Override
protected boolean addForMultiValue(final PlainAttrValue attrValue) {
- checkType(attrValue, PGCPlainAttrValue.class);
- return values.add((PGCPlainAttrValue) attrValue);
+ checkType(attrValue, JPAJSONCPlainAttrValue.class);
+ return values.add((JPAJSONCPlainAttrValue) attrValue);
}
@Override
@@ -117,20 +117,20 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
}
@JsonIgnore
- public List<PGCPlainAttrValue> getPGValues() {
+ public List<JPAJSONCPlainAttrValue> getPGValues() {
return values;
}
@Override
- public PGCPlainAttrUniqueValue getUniqueValue() {
+ public JPAJSONCPlainAttrUniqueValue getUniqueValue() {
return uniqueValue;
}
@JsonIgnore
@Override
public void setUniqueValue(final PlainAttrUniqueValue uniqueValue) {
- checkType(uniqueValue, PGCPlainAttrUniqueValue.class);
- this.uniqueValue = (PGCPlainAttrUniqueValue) uniqueValue;
+ checkType(uniqueValue, JPAJSONCPlainAttrUniqueValue.class);
+ this.uniqueValue = (JPAJSONCPlainAttrUniqueValue) uniqueValue;
}
@Override
@@ -153,7 +153,7 @@ public class PGCPlainAttr extends AbstractPlainAttr<Conf> implements CPlainAttr,
if (getClass() != obj.getClass()) {
return false;
}
- final PGCPlainAttr other = (PGCPlainAttr) obj;
+ final JPAJSONCPlainAttr other = (JPAJSONCPlainAttr) obj;
return new EqualsBuilder().
append(schema, other.schema).
append(values, other.values).
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrUniqueValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrUniqueValue.java
similarity index 89%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrUniqueValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrUniqueValue.java
index 5877f1c..dc7bc50 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrUniqueValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrUniqueValue.java
@@ -29,12 +29,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGCPlainAttrUniqueValue extends AbstractPlainAttrValue implements CPlainAttrUniqueValue {
+public class JPAJSONCPlainAttrUniqueValue extends AbstractPlainAttrValue implements CPlainAttrUniqueValue {
private static final long serialVersionUID = -4326417972859745823L;
@JsonIgnore
- private PGCPlainAttr attr;
+ private JPAJSONCPlainAttr attr;
@Override
public CPlainAttr getAttr() {
@@ -43,8 +43,8 @@ public class PGCPlainAttrUniqueValue extends AbstractPlainAttrValue implements C
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGCPlainAttr.class);
- this.attr = (PGCPlainAttr) attr;
+ checkType(attr, JPAJSONCPlainAttr.class);
+ this.attr = (JPAJSONCPlainAttr) attr;
}
@JsonIgnore
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrValue.java
similarity index 87%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrValue.java
index a537f0f..9136621 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGCPlainAttrValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONCPlainAttrValue.java
@@ -28,12 +28,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGCPlainAttrValue extends AbstractPlainAttrValue implements CPlainAttrValue {
+public class JPAJSONCPlainAttrValue extends AbstractPlainAttrValue implements CPlainAttrValue {
private static final long serialVersionUID = 1832825176101443555L;
@JsonIgnore
- private PGCPlainAttr attr;
+ private JPAJSONCPlainAttr attr;
@Override
public CPlainAttr getAttr() {
@@ -42,7 +42,7 @@ public class PGCPlainAttrValue extends AbstractPlainAttrValue implements CPlainA
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGCPlainAttr.class);
- this.attr = (PGCPlainAttr) attr;
+ checkType(attr, JPAJSONCPlainAttr.class);
+ this.attr = (JPAJSONCPlainAttr) attr;
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConf.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConf.java
similarity index 78%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConf.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConf.java
index a297d18..ea97ed5 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConf.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConf.java
@@ -28,15 +28,15 @@ import javax.persistence.Table;
import javax.persistence.Transient;
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.jpa.entity.PGPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAAny;
-import org.apache.syncope.core.persistence.jpa.validation.entity.PGJPAAnyCheck;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
+import org.apache.syncope.core.persistence.jpa.validation.entity.JPAJSONAnyCheck;
@Entity
@Table(name = JPAConf.TABLE)
-@EntityListeners({ PGJPAConfListener.class })
-@PGJPAAnyCheck
-public class PGJPAConf extends JPAConf implements PGJPAAny<Conf>, Conf {
+@EntityListeners({ JPAJSONConfListener.class })
+@JPAJSONAnyCheck
+public class JPAJSONConf extends JPAConf implements JSONAny<Conf>, Conf {
private static final long serialVersionUID = -8543654943709531885L;
@@ -45,7 +45,7 @@ public class PGJPAConf extends JPAConf implements PGJPAAny<Conf>, Conf {
private String plainAttrs;
@Transient
- private final List<PGCPlainAttr> plainAttrList = new ArrayList<>();
+ private final List<JPAJSONCPlainAttr> plainAttrList = new ArrayList<>();
@Override
public String getPlainAttrsJSON() {
@@ -58,19 +58,19 @@ public class PGJPAConf extends JPAConf implements PGJPAAny<Conf>, Conf {
}
@Override
- public List<PGCPlainAttr> getPlainAttrList() {
+ public List<JPAJSONCPlainAttr> getPlainAttrList() {
return plainAttrList;
}
@Override
- public boolean add(final PGPlainAttr<Conf> attr) {
+ public boolean add(final JSONPlainAttr<Conf> attr) {
return add((CPlainAttr) attr);
}
@Override
public boolean add(final CPlainAttr attr) {
- checkType(attr, PGCPlainAttr.class);
- return plainAttrList.add((PGCPlainAttr) attr);
+ checkType(attr, JPAJSONCPlainAttr.class);
+ return plainAttrList.add((JPAJSONCPlainAttr) attr);
}
@Override
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConfListener.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConfListener.java
similarity index 76%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConfListener.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConfListener.java
index 00ad5db..7923c47 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/PGJPAConfListener.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/conf/JPAJSONConfListener.java
@@ -26,32 +26,32 @@ import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import org.apache.syncope.core.persistence.api.entity.conf.Conf;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityListener;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
-public class PGJPAConfListener extends PGJPAEntityListener<Conf> {
+public class JPAJSONConfListener extends JPAJSONEntityListener<Conf> {
@Override
- protected List<? extends PGPlainAttr<Conf>> getValues(final String plainAttrsJSON) {
- return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<PGCPlainAttr>>() {
+ protected List<? extends JSONPlainAttr<Conf>> getValues(final String plainAttrsJSON) {
+ return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<JPAJSONCPlainAttr>>() {
});
}
@PostLoad
- public void read(final PGJPAConf conf) {
+ public void read(final JPAJSONConf conf) {
super.json2list(conf, false);
}
@PrePersist
@PreUpdate
- public void save(final PGJPAConf conf) {
+ public void save(final JPAJSONConf conf) {
super.list2json(conf);
}
@PostPersist
@PostUpdate
- public void readAfterSave(final PGJPAConf conf) {
+ public void readAfterSave(final JPAJSONConf conf) {
super.json2list(conf, true);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttr.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttr.java
similarity index 83%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttr.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttr.java
index 9e78535..e783295 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttr.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttr.java
@@ -36,12 +36,12 @@ import org.apache.syncope.core.persistence.api.entity.group.GPlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.group.Group;
import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr;
import org.apache.syncope.core.persistence.jpa.entity.JPAPlainSchema;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
@JsonIgnoreProperties("valuesAsStrings")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr, PGPlainAttr<Group> {
+public class JPAJSONGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr, JSONPlainAttr<Group> {
private static final long serialVersionUID = 806271775349587902L;
@@ -49,7 +49,7 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
* The owner of this attribute.
*/
@JsonIgnore
- private PGJPAGroup owner;
+ private JPAJSONGroup owner;
@JsonProperty
private String schema;
@@ -57,13 +57,13 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
/**
* Values of this attribute (if schema is not UNIQUE).
*/
- private final List<PGGPlainAttrValue> values = new ArrayList<>();
+ private final List<JPAJSONGPlainAttrValue> values = new ArrayList<>();
/**
* Value of this attribute (if schema is UNIQUE).
*/
@JsonProperty
- private PGGPlainAttrUniqueValue uniqueValue;
+ private JPAJSONGPlainAttrUniqueValue uniqueValue;
@Override
public Group getOwner() {
@@ -72,8 +72,8 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
@Override
public void setOwner(final Group owner) {
- checkType(owner, PGJPAGroup.class);
- this.owner = (PGJPAGroup) owner;
+ checkType(owner, JPAJSONGroup.class);
+ this.owner = (JPAJSONGroup) owner;
}
@JsonIgnore
@@ -102,8 +102,8 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
@Override
protected boolean addForMultiValue(final PlainAttrValue attrValue) {
- checkType(attrValue, PGGPlainAttrValue.class);
- return values.add((PGGPlainAttrValue) attrValue);
+ checkType(attrValue, JPAJSONGPlainAttrValue.class);
+ return values.add((JPAJSONGPlainAttrValue) attrValue);
}
@Override
@@ -117,20 +117,20 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
}
@JsonIgnore
- public List<PGGPlainAttrValue> getPGValues() {
+ public List<JPAJSONGPlainAttrValue> getPGValues() {
return values;
}
@Override
- public PGGPlainAttrUniqueValue getUniqueValue() {
+ public JPAJSONGPlainAttrUniqueValue getUniqueValue() {
return uniqueValue;
}
@JsonIgnore
@Override
public void setUniqueValue(final PlainAttrUniqueValue uniqueValue) {
- checkType(uniqueValue, PGGPlainAttrUniqueValue.class);
- this.uniqueValue = (PGGPlainAttrUniqueValue) uniqueValue;
+ checkType(uniqueValue, JPAJSONGPlainAttrUniqueValue.class);
+ this.uniqueValue = (JPAJSONGPlainAttrUniqueValue) uniqueValue;
}
@Override
@@ -153,7 +153,7 @@ public class PGGPlainAttr extends AbstractPlainAttr<Group> implements GPlainAttr
if (getClass() != obj.getClass()) {
return false;
}
- final PGGPlainAttr other = (PGGPlainAttr) obj;
+ final JPAJSONGPlainAttr other = (JPAJSONGPlainAttr) obj;
return new EqualsBuilder().
append(schema, other.schema).
append(values, other.values).
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrUniqueValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrUniqueValue.java
similarity index 89%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrUniqueValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrUniqueValue.java
index c6219a0..539e8fb 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrUniqueValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrUniqueValue.java
@@ -29,12 +29,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGGPlainAttrUniqueValue extends AbstractPlainAttrValue implements GPlainAttrUniqueValue {
+public class JPAJSONGPlainAttrUniqueValue extends AbstractPlainAttrValue implements GPlainAttrUniqueValue {
private static final long serialVersionUID = -4326417972859745823L;
@JsonIgnore
- private PGGPlainAttr attr;
+ private JPAJSONGPlainAttr attr;
@Override
public GPlainAttr getAttr() {
@@ -43,8 +43,8 @@ public class PGGPlainAttrUniqueValue extends AbstractPlainAttrValue implements G
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGGPlainAttr.class);
- this.attr = (PGGPlainAttr) attr;
+ checkType(attr, JPAJSONGPlainAttr.class);
+ this.attr = (JPAJSONGPlainAttr) attr;
}
@JsonIgnore
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrValue.java
similarity index 87%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrValue.java
index 398e5b0..e662117 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGGPlainAttrValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGPlainAttrValue.java
@@ -28,12 +28,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGGPlainAttrValue extends AbstractPlainAttrValue implements GPlainAttrValue {
+public class JPAJSONGPlainAttrValue extends AbstractPlainAttrValue implements GPlainAttrValue {
private static final long serialVersionUID = 1832825176101443555L;
@JsonIgnore
- private PGGPlainAttr attr;
+ private JPAJSONGPlainAttr attr;
@Override
public GPlainAttr getAttr() {
@@ -42,7 +42,7 @@ public class PGGPlainAttrValue extends AbstractPlainAttrValue implements GPlainA
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGGPlainAttr.class);
- this.attr = (PGGPlainAttr) attr;
+ checkType(attr, JPAJSONGPlainAttr.class);
+ this.attr = (JPAJSONGPlainAttr) attr;
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroup.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroup.java
similarity index 78%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroup.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroup.java
index 6f65a43..b84169a 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroup.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroup.java
@@ -28,15 +28,15 @@ import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.syncope.core.persistence.api.entity.group.GPlainAttr;
import org.apache.syncope.core.persistence.api.entity.group.Group;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAAny;
-import org.apache.syncope.core.persistence.jpa.validation.entity.PGJPAAnyCheck;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
+import org.apache.syncope.core.persistence.jpa.validation.entity.JPAJSONAnyCheck;
@Entity
@Table(name = JPAGroup.TABLE)
-@EntityListeners({ PGJPAGroupListener.class })
-@PGJPAAnyCheck
-public class PGJPAGroup extends JPAGroup implements PGJPAAny<Group>, Group {
+@EntityListeners({ JPAJSONGroupListener.class })
+@JPAJSONAnyCheck
+public class JPAJSONGroup extends JPAGroup implements JSONAny<Group>, Group {
private static final long serialVersionUID = -8543654943709531885L;
@@ -45,7 +45,7 @@ public class PGJPAGroup extends JPAGroup implements PGJPAAny<Group>, Group {
private String plainAttrs;
@Transient
- private final List<PGGPlainAttr> plainAttrList = new ArrayList<>();
+ private final List<JPAJSONGPlainAttr> plainAttrList = new ArrayList<>();
@Override
public String getPlainAttrsJSON() {
@@ -58,19 +58,19 @@ public class PGJPAGroup extends JPAGroup implements PGJPAAny<Group>, Group {
}
@Override
- public List<PGGPlainAttr> getPlainAttrList() {
+ public List<JPAJSONGPlainAttr> getPlainAttrList() {
return plainAttrList;
}
@Override
- public boolean add(final PGPlainAttr<Group> attr) {
+ public boolean add(final JSONPlainAttr<Group> attr) {
return add((GPlainAttr) attr);
}
@Override
public boolean add(final GPlainAttr attr) {
- checkType(attr, PGGPlainAttr.class);
- return plainAttrList.add((PGGPlainAttr) attr);
+ checkType(attr, JPAJSONGPlainAttr.class);
+ return plainAttrList.add((JPAJSONGPlainAttr) attr);
}
@Override
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroupListener.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroupListener.java
similarity index 75%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroupListener.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroupListener.java
index f8e190f..a259238 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/PGJPAGroupListener.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/group/JPAJSONGroupListener.java
@@ -26,32 +26,32 @@ import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import org.apache.syncope.core.persistence.api.entity.group.Group;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityListener;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
-public class PGJPAGroupListener extends PGJPAEntityListener<Group> {
+public class JPAJSONGroupListener extends JPAJSONEntityListener<Group> {
@Override
- protected List<? extends PGPlainAttr<Group>> getValues(final String plainAttrsJSON) {
- return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<PGGPlainAttr>>() {
+ protected List<? extends JSONPlainAttr<Group>> getValues(final String plainAttrsJSON) {
+ return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<JPAJSONGPlainAttr>>() {
});
}
@PostLoad
- public void read(final PGJPAGroup group) {
+ public void read(final JPAJSONGroup group) {
super.json2list(group, false);
}
@PrePersist
@PreUpdate
- public void save(final PGJPAGroup group) {
+ public void save(final JPAJSONGroup group) {
super.list2json(group);
}
@PostPersist
@PostUpdate
- public void readAfterSave(final PGJPAGroup group) {
+ public void readAfterSave(final JPAJSONGroup group) {
super.json2list(group, true);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttr.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttr.java
similarity index 86%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttr.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttr.java
index 09abb26..c8082a1 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttr.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttr.java
@@ -38,12 +38,12 @@ import org.apache.syncope.core.persistence.api.entity.user.UPlainAttrValue;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttr;
import org.apache.syncope.core.persistence.jpa.entity.JPAPlainSchema;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
import org.apache.syncope.core.spring.ApplicationContextProvider;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
@JsonIgnoreProperties("valuesAsStrings")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr, PGPlainAttr<User> {
+public class JPAJSONUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr, JSONPlainAttr<User> {
private static final long serialVersionUID = 806271775349587902L;
@@ -51,7 +51,7 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
* The owner of this attribute.
*/
@JsonIgnore
- private PGJPAUser owner;
+ private JPAJSONUser owner;
@JsonProperty
private String schema;
@@ -65,13 +65,13 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
/**
* Values of this attribute (if schema is not UNIQUE).
*/
- private final List<PGUPlainAttrValue> values = new ArrayList<>();
+ private final List<JPAJSONUPlainAttrValue> values = new ArrayList<>();
/**
* Value of this attribute (if schema is UNIQUE).
*/
@JsonProperty
- private PGUPlainAttrUniqueValue uniqueValue;
+ private JPAJSONUPlainAttrUniqueValue uniqueValue;
@Override
public User getOwner() {
@@ -80,8 +80,8 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
@Override
public void setOwner(final User owner) {
- checkType(owner, PGJPAUser.class);
- this.owner = (PGJPAUser) owner;
+ checkType(owner, JPAJSONUser.class);
+ this.owner = (JPAJSONUser) owner;
}
@JsonIgnore
@@ -133,8 +133,8 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
@Override
protected boolean addForMultiValue(final PlainAttrValue attrValue) {
- checkType(attrValue, PGUPlainAttrValue.class);
- return values.add((PGUPlainAttrValue) attrValue);
+ checkType(attrValue, JPAJSONUPlainAttrValue.class);
+ return values.add((JPAJSONUPlainAttrValue) attrValue);
}
@Override
@@ -148,20 +148,20 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
}
@JsonIgnore
- public List<PGUPlainAttrValue> getPGValues() {
+ public List<JPAJSONUPlainAttrValue> getPGValues() {
return values;
}
@Override
- public PGUPlainAttrUniqueValue getUniqueValue() {
+ public JPAJSONUPlainAttrUniqueValue getUniqueValue() {
return uniqueValue;
}
@JsonIgnore
@Override
public void setUniqueValue(final PlainAttrUniqueValue uniqueValue) {
- checkType(uniqueValue, PGUPlainAttrUniqueValue.class);
- this.uniqueValue = (PGUPlainAttrUniqueValue) uniqueValue;
+ checkType(uniqueValue, JPAJSONUPlainAttrUniqueValue.class);
+ this.uniqueValue = (JPAJSONUPlainAttrUniqueValue) uniqueValue;
}
@Override
@@ -185,7 +185,7 @@ public class PGUPlainAttr extends AbstractPlainAttr<User> implements UPlainAttr,
if (getClass() != obj.getClass()) {
return false;
}
- final PGUPlainAttr other = (PGUPlainAttr) obj;
+ final JPAJSONUPlainAttr other = (JPAJSONUPlainAttr) obj;
return new EqualsBuilder().
append(schema, other.schema).
append(membership, other.membership).
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrUniqueValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrUniqueValue.java
similarity index 89%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrUniqueValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrUniqueValue.java
index 9b6cd3e..ab4a8f4 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrUniqueValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrUniqueValue.java
@@ -29,12 +29,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGUPlainAttrUniqueValue extends AbstractPlainAttrValue implements UPlainAttrUniqueValue {
+public class JPAJSONUPlainAttrUniqueValue extends AbstractPlainAttrValue implements UPlainAttrUniqueValue {
private static final long serialVersionUID = -4053996864791245312L;
@JsonIgnore
- private PGUPlainAttr attr;
+ private JPAJSONUPlainAttr attr;
@Override
public UPlainAttr getAttr() {
@@ -43,8 +43,8 @@ public class PGUPlainAttrUniqueValue extends AbstractPlainAttrValue implements U
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGUPlainAttr.class);
- this.attr = (PGUPlainAttr) attr;
+ checkType(attr, JPAJSONUPlainAttr.class);
+ this.attr = (JPAJSONUPlainAttr) attr;
}
@JsonIgnore
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrValue.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrValue.java
similarity index 87%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrValue.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrValue.java
index 6ba15d5..4a4415b 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGUPlainAttrValue.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUPlainAttrValue.java
@@ -28,12 +28,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
@JsonIgnoreProperties({ "valueAsString", "value" })
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class PGUPlainAttrValue extends AbstractPlainAttrValue implements UPlainAttrValue {
+public class JPAJSONUPlainAttrValue extends AbstractPlainAttrValue implements UPlainAttrValue {
private static final long serialVersionUID = 1832825176101443555L;
@JsonIgnore
- private PGUPlainAttr attr;
+ private JPAJSONUPlainAttr attr;
@Override
public UPlainAttr getAttr() {
@@ -42,7 +42,7 @@ public class PGUPlainAttrValue extends AbstractPlainAttrValue implements UPlainA
@Override
public void setAttr(final PlainAttr<?> attr) {
- checkType(attr, PGUPlainAttr.class);
- this.attr = (PGUPlainAttr) attr;
+ checkType(attr, JPAJSONUPlainAttr.class);
+ this.attr = (JPAJSONUPlainAttr) attr;
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUser.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUser.java
similarity index 84%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUser.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUser.java
index 5bc949c..1591b9c 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUser.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUser.java
@@ -33,15 +33,15 @@ import org.apache.syncope.core.persistence.api.entity.Membership;
import org.apache.syncope.core.persistence.api.entity.user.UMembership;
import org.apache.syncope.core.persistence.api.entity.user.UPlainAttr;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAAny;
-import org.apache.syncope.core.persistence.jpa.validation.entity.PGJPAAnyCheck;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
+import org.apache.syncope.core.persistence.jpa.validation.entity.JPAJSONAnyCheck;
@Entity
@Table(name = JPAUser.TABLE)
-@EntityListeners({ PGJPAUserListener.class })
-@PGJPAAnyCheck
-public class PGJPAUser extends JPAUser implements PGJPAAny<User>, User {
+@EntityListeners({ JPAJSONUserListener.class })
+@JPAJSONAnyCheck
+public class JPAJSONUser extends JPAUser implements JSONAny<User>, User {
private static final long serialVersionUID = -8543654943709531885L;
@@ -50,7 +50,7 @@ public class PGJPAUser extends JPAUser implements PGJPAAny<User>, User {
private String plainAttrs;
@Transient
- private final List<PGUPlainAttr> plainAttrList = new ArrayList<>();
+ private final List<JPAJSONUPlainAttr> plainAttrList = new ArrayList<>();
@Override
public String getPlainAttrsJSON() {
@@ -63,26 +63,26 @@ public class PGJPAUser extends JPAUser implements PGJPAAny<User>, User {
}
@Override
- public List<PGUPlainAttr> getPlainAttrList() {
+ public List<JPAJSONUPlainAttr> getPlainAttrList() {
return plainAttrList;
}
@Override
- public boolean add(final PGPlainAttr<User> attr) {
+ public boolean add(final JSONPlainAttr<User> attr) {
return add((UPlainAttr) attr);
}
@Override
public boolean add(final UPlainAttr attr) {
- checkType(attr, PGUPlainAttr.class);
- return plainAttrList.add((PGUPlainAttr) attr);
+ checkType(attr, JPAJSONUPlainAttr.class);
+ return plainAttrList.add((JPAJSONUPlainAttr) attr);
}
@Override
public boolean remove(final UPlainAttr attr) {
return plainAttrList.removeIf(pgattr
-> pgattr.getSchemaKey().equals(attr.getSchema().getKey())
- && Objects.equals(pgattr.getMembershipKey(), ((PGUPlainAttr) attr).getMembershipKey()));
+ && Objects.equals(pgattr.getMembershipKey(), ((JPAJSONUPlainAttr) attr).getMembershipKey()));
}
@Override
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUserListener.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUserListener.java
similarity index 76%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUserListener.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUserListener.java
index 7ab5d32..66f8b08 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/PGJPAUserListener.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/entity/user/JPAJSONUserListener.java
@@ -26,32 +26,32 @@ import javax.persistence.PostUpdate;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityListener;
-import org.apache.syncope.core.persistence.jpa.entity.PGPlainAttr;
+import org.apache.syncope.core.persistence.jpa.entity.JPAJSONEntityListener;
import org.apache.syncope.core.provisioning.api.serialization.POJOHelper;
+import org.apache.syncope.core.persistence.api.entity.JSONPlainAttr;
-public class PGJPAUserListener extends PGJPAEntityListener<User> {
+public class JPAJSONUserListener extends JPAJSONEntityListener<User> {
@Override
- protected List<? extends PGPlainAttr<User>> getValues(final String plainAttrsJSON) {
- return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<PGUPlainAttr>>() {
+ protected List<? extends JSONPlainAttr<User>> getValues(final String plainAttrsJSON) {
+ return POJOHelper.deserialize(plainAttrsJSON, new TypeReference<List<JPAJSONUPlainAttr>>() {
});
}
@PostLoad
- public void read(final PGJPAUser user) {
+ public void read(final JPAJSONUser user) {
super.json2list(user, false);
}
@PrePersist
@PreUpdate
- public void save(final PGJPAUser user) {
+ public void save(final JPAJSONUser user) {
super.list2json(user);
}
@PostPersist
@PostUpdate
- public void readAfterSave(final PGJPAUser user) {
+ public void readAfterSave(final JPAJSONUser user) {
super.json2list(user, true);
}
}
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyCheck.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyCheck.java
similarity index 94%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyCheck.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyCheck.java
index ef6f87d..361894d 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyCheck.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyCheck.java
@@ -29,9 +29,9 @@ import javax.validation.Payload;
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
-@Constraint(validatedBy = PGJPAAnyValidator.class)
+@Constraint(validatedBy = JPAJSONAnyValidator.class)
@Documented
-public @interface PGJPAAnyCheck {
+public @interface JPAJSONAnyCheck {
String message() default "{org.apache.syncope.core.persistence.validation.any}";
diff --git a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyValidator.java b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyValidator.java
similarity index 87%
rename from core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyValidator.java
rename to core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyValidator.java
index 089808c..6a32456 100644
--- a/core/persistence-jpa-pgjsonb/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/PGJPAAnyValidator.java
+++ b/core/persistence-jpa-json/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/JPAJSONAnyValidator.java
@@ -21,12 +21,12 @@ package org.apache.syncope.core.persistence.jpa.validation.entity;
import java.util.concurrent.atomic.AtomicReference;
import javax.validation.ConstraintValidatorContext;
import org.apache.syncope.core.persistence.api.entity.PlainAttr;
-import org.apache.syncope.core.persistence.jpa.entity.PGJPAAny;
+import org.apache.syncope.core.persistence.api.entity.JSONAny;
-public class PGJPAAnyValidator extends AbstractValidator<PGJPAAnyCheck, PGJPAAny<?>> {
+public class JPAJSONAnyValidator extends AbstractValidator<JPAJSONAnyCheck, JSONAny<?>> {
@Override
- public boolean isValid(final PGJPAAny<?> entity, final ConstraintValidatorContext context) {
+ public boolean isValid(final JSONAny<?> entity, final ConstraintValidatorContext context) {
context.disableDefaultConstraintViolation();
PlainAttrValidator attrValidator = new PlainAttrValidator();
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/META-INF/spring-orm-pgjsonb.xml b/core/persistence-jpa-json/src/main/resources/META-INF/spring-orm-pgjsonb.xml
similarity index 70%
rename from core/persistence-jpa-pgjsonb/src/main/resources/META-INF/spring-orm-pgjsonb.xml
rename to core/persistence-jpa-json/src/main/resources/META-INF/spring-orm-pgjsonb.xml
index 0118765..64160d4 100644
--- a/core/persistence-jpa-pgjsonb/src/main/resources/META-INF/spring-orm-pgjsonb.xml
+++ b/core/persistence-jpa-json/src/main/resources/META-INF/spring-orm-pgjsonb.xml
@@ -33,41 +33,77 @@ under the License.
</entity-listeners>
</persistence-unit-defaults>
</persistence-unit-metadata>
-
+
+ <entity class="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject">
+ <attributes>
+ <basic name="plainAttrs">
+ <column column-definition="jsonb"/>
+ <lob/>
+ </basic>
+ </attributes>
+ </entity>
+
+ <entity class="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup">
+ <attributes>
+ <basic name="plainAttrs">
+ <column column-definition="jsonb"/>
+ <lob/>
+ </basic>
+ </attributes>
+ </entity>
+
+ <entity class="org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser">
+ <attributes>
+ <basic name="plainAttrs">
+ <column column-definition="jsonb"/>
+ <lob/>
+ </basic>
+ </attributes>
+ </entity>
+
+ <entity class="org.apache.syncope.core.persistence.jpa.entity.conf.JPAJSONConf">
+ <attributes>
+ <basic name="plainAttrs">
+ <column column-definition="jsonb"/>
+ <lob/>
+ </basic>
+ </attributes>
+ </entity>
+
<entity class="org.apache.syncope.core.persistence.jpa.entity.group.JPAGroup">
<attributes>
- <many-to-one name="userOwner" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.PGJPAUser"/>
- <many-to-one name="groupOwner" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup"/>
+ <many-to-one name="userOwner" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser"/>
+ <many-to-one name="groupOwner" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup"/>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.group.JPATypeExtension">
<attributes>
- <many-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup"/>
+ <many-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup"/>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.user.JPAUMembership">
<attributes>
- <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.PGJPAUser">
+ <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser">
<join-column name="user_id"/>
</many-to-one>
- <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup">
+ <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup">
<join-column name="group_id"/>
</many-to-one>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.user.JPAUDynGroupMembership">
<attributes>
- <one-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup"/>
+ <one-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup"/>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.user.JPAURelationship">
<attributes>
- <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.PGJPAUser">
+ <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.user.JPAJSONUser">
<join-column name="user_id"/>
</many-to-one>
- <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject">
+ <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject">
<join-column name="anyObject_id"/>
</many-to-one>
</attributes>
@@ -75,25 +111,25 @@ under the License.
<entity class="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAAMembership">
<attributes>
- <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject">
+ <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject">
<join-column name="anyObject_id"/>
</many-to-one>
- <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup">
+ <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup">
<join-column name="group_id"/>
</many-to-one>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAADynGroupMembership">
<attributes>
- <one-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.PGJPAGroup"/>
+ <one-to-one name="group" target-entity="org.apache.syncope.core.persistence.jpa.entity.group.JPAJSONGroup"/>
</attributes>
</entity>
<entity class="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAARelationship">
<attributes>
- <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject">
+ <many-to-one name="leftEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject">
<join-column name="left_anyObject_id"/>
</many-to-one>
- <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.PGJPAAnyObject">
+ <many-to-one name="rightEnd" target-entity="org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAJSONAnyObject">
<join-column name="right_anyObject_id"/>
</many-to-one>
</attributes>
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/persistence-enhance.xml b/core/persistence-jpa-json/src/main/resources/persistence-enhance.xml
similarity index 100%
rename from core/persistence-jpa-pgjsonb/src/main/resources/persistence-enhance.xml
rename to core/persistence-jpa-json/src/main/resources/persistence-enhance.xml
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/domains/Master.properties b/core/persistence-jpa-json/src/main/resources/pgjsonb/domains/Master.properties
similarity index 100%
rename from core/persistence-jpa-pgjsonb/src/main/resources/domains/Master.properties
rename to core/persistence-jpa-json/src/main/resources/pgjsonb/domains/Master.properties
diff --git a/fit/core-reference/src/main/resources/pgjsonb/indexes.xml b/core/persistence-jpa-json/src/main/resources/pgjsonb/indexes.xml
similarity index 100%
rename from fit/core-reference/src/main/resources/pgjsonb/indexes.xml
rename to core/persistence-jpa-json/src/main/resources/pgjsonb/indexes.xml
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/persistence.properties b/core/persistence-jpa-json/src/main/resources/pgjsonb/persistence.properties
similarity index 63%
rename from core/persistence-jpa-pgjsonb/src/main/resources/persistence.properties
rename to core/persistence-jpa-json/src/main/resources/pgjsonb/persistence.properties
index a299527..50d568e 100644
--- a/core/persistence-jpa-pgjsonb/src/main/resources/persistence.properties
+++ b/core/persistence-jpa-json/src/main/resources/pgjsonb/persistence.properties
@@ -15,13 +15,13 @@
# specific language governing permissions and limitations
# under the License.
content.directory=${conf.directory}
-entity.factory=org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityFactory
-plainSchema.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainSchemaDAO
-plainAttr.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrDAO
-plainAttrValue.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrValueDAO
-any.search.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnySearchDAO
-user.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAUserDAO
-group.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAGroupDAO
-anyObject.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnyObjectDAO
-conf.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAConfDAO
+entity.factory=org.apache.syncope.core.persistence.jpa.entity.PGJPAJSONEntityFactory
+plainSchema.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainSchemaDAO
+plainAttr.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainAttrDAO
+plainAttrValue.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainAttrValueDAO
+any.search.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAJSONAnySearchDAO
+user.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONUserDAO
+group.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONGroupDAO
+anyObject.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONAnyObjectDAO
+conf.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONConfDAO
openjpa.RemoteCommitProvider=sjvm
diff --git a/fit/core-reference/src/main/resources/pgjsonb/views.xml b/core/persistence-jpa-json/src/main/resources/pgjsonb/views.xml
similarity index 100%
rename from fit/core-reference/src/main/resources/pgjsonb/views.xml
rename to core/persistence-jpa-json/src/main/resources/pgjsonb/views.xml
diff --git a/core/persistence-jpa-pgjsonb/src/test/resources/persistenceTest.xml b/core/persistence-jpa-json/src/test/resources/persistenceTest.xml
similarity index 100%
rename from core/persistence-jpa-pgjsonb/src/test/resources/persistenceTest.xml
rename to core/persistence-jpa-json/src/test/resources/persistenceTest.xml
diff --git a/core/persistence-jpa-pgjsonb/src/test/resources/domains/MasterContent.xml b/core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml
similarity index 100%
rename from core/persistence-jpa-pgjsonb/src/test/resources/domains/MasterContent.xml
rename to core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml
diff --git a/core/persistence-jpa-pgjsonb/src/test/resources/simplelogger.properties b/core/persistence-jpa-json/src/test/resources/simplelogger.properties
similarity index 100%
rename from core/persistence-jpa-pgjsonb/src/test/resources/simplelogger.properties
rename to core/persistence-jpa-json/src/test/resources/simplelogger.properties
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/indexes.xml b/core/persistence-jpa-pgjsonb/src/main/resources/indexes.xml
deleted file mode 100644
index 3e5b92b..0000000
--- a/core/persistence-jpa-pgjsonb/src/main/resources/indexes.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-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.
--->
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<properties>
- <comment>Additional indexes (in respect to JPA's)</comment>
-
- <entry key="SyncopeUser_plainAttrs_idx">CREATE INDEX SyncopeUser_plainAttrs_idx ON SyncopeUser USING gin ((plainAttrs) jsonb_path_ops)</entry>
- <entry key="SyncopeGroup_plainAttrs_idx">CREATE INDEX SyncopeGroup_plainAttrs_idx ON SyncopeGroup USING gin ((plainAttrs) jsonb_path_ops)</entry>
- <entry key="AnyObject_plainAttrs_idx">CREATE INDEX AnyObject_plainAttrs_idx ON AnyObject USING gin ((plainAttrs) jsonb_path_ops)</entry>
- <entry key="SyncopeConf_plainAttrs_idx">CREATE INDEX SyncopeConf_plainAttrs_idx ON SyncopeConf USING gin ((plainAttrs) jsonb_path_ops)</entry>
-
- <entry key="UDynGroupMembers_any_id">CREATE INDEX UDynGroupMembers_any_id ON UDynGroupMembers(any_id)</entry>
- <entry key="UDynGroupMembers_group_id">CREATE INDEX UDynGroupMembers_group_id ON UDynGroupMembers(group_id)</entry>
- <entry key="ADynGroupMembers_any_id">CREATE INDEX ADynGroupMembers_any_id ON ADynGroupMembers(any_id)</entry>
- <entry key="ADynGroupMembers_group_id">CREATE INDEX ADynGroupMembers_group_id ON ADynGroupMembers(group_id)</entry>
-
- <entry key="DynRoleMembers_any_id">CREATE INDEX DynRoleMembers_any_id ON DynRoleMembers(any_id)</entry>
- <entry key="DynRoleMembers_role_id">CREATE INDEX DynRoleMembers_role_id ON DynRoleMembers(role_id)</entry>
-
- <entry key="DynRealmMembers_any_id">CREATE INDEX DynRealmMembers_any_id ON DynRealmMembers(any_id)</entry>
- <entry key="DynRealmMembers_realm_id">CREATE INDEX DynRealmMembers_dynRealm_id ON DynRealmMembers(dynRealm_id)</entry>
-
- <entry key="CPlainAttrValue_stringvalueIndex">CREATE INDEX CAttrValue_stringvalueIndex ON CPlainAttrValue(stringvalue)</entry>
- <entry key="CPlainAttrValue_datevalueIndex">CREATE INDEX CAttrValue_datevalueIndex ON CPlainAttrValue(datevalue)</entry>
- <entry key="CPlainAttrValue_longvalueIndex">CREATE INDEX CAttrValue_longvalueIndex ON CPlainAttrValue(longvalue)</entry>
- <entry key="CPlainAttrValue_doublevalueIndex">CREATE INDEX CAttrValue_doublevalueIndex ON CPlainAttrValue(doublevalue)</entry>
- <entry key="CPlainAttrValue_booleanvalueIndex">CREATE INDEX CAttrValue_booleanvalueIndex ON CPlainAttrValue(booleanvalue)</entry>
-
- <entry key="UMembership_GroupIndex">CREATE INDEX UMembership_GroupIndex ON UMembership(group_id)</entry>
- <entry key="UMembership_UserIndex">CREATE INDEX UMembership_UserIndex ON UMembership(user_id)</entry>
- <entry key="AMembership_GroupIndex">CREATE INDEX AMembership_GroupIndex ON AMembership(group_id)</entry>
- <entry key="AMembership_AnyObjectIndex">CREATE INDEX AMembership_AnyObjectIndex ON AMembership(anyObject_id)</entry>
-
- <entry key="URelationship_RightIndex">CREATE INDEX URelationship_RightIndex ON URelationship(anyObject_id)</entry>
- <entry key="URelationship_LeftIndex">CREATE INDEX URelationship_LeftIndex ON URelationship(user_id)</entry>
- <entry key="ARelationship_RightIndex">CREATE INDEX ARelationship_RightIndex ON ARelationship(right_anyObject_id)</entry>
- <entry key="ARelationship_AnyObjectIndex">CREATE INDEX ARelationship_AnyObjectIndex ON ARelationship(left_anyObject_id)</entry>
-
- <entry key="CPlainAttrValue_attrIndex">CREATE INDEX CPlainAttrValue_attrIndex on CPlainAttrValue(attribute_id)</entry>
- <entry key="CPAttrUniqueValue_attrIndex">CREATE INDEX CPAttrUniqueValue_attrIndex on CPlainAttrUniqueValue(attribute_id)</entry>
-
- <entry key="CPlainAttr_owner_Index">CREATE INDEX CPlainAttr_owner_Index on CPlainAttr(owner_id)</entry>
- <entry key="CPlainAttr_schema_Index">CREATE INDEX CPlainAttr_schema_Index on CPlainAttr(schema_id)</entry>
-
- <entry key="Task_executedIndex">CREATE INDEX Task_executedIndex ON Task(executed)</entry>
-</properties>
diff --git a/core/persistence-jpa-pgjsonb/src/main/resources/views.xml b/core/persistence-jpa-pgjsonb/src/main/resources/views.xml
deleted file mode 100644
index eb450be..0000000
--- a/core/persistence-jpa-pgjsonb/src/main/resources/views.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-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.
--->
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<properties>
-
- <entry key="UDynGroupMembers">
- CREATE TABLE UDynGroupMembers(
- any_id CHAR(36),
- group_id CHAR(36),
- UNIQUE(any_id, group_id))
- </entry>
- <entry key="ADynGroupMembers">
- CREATE TABLE ADynGroupMembers(
- anyType_id VARCHAR(255),
- any_id CHAR(36),
- group_id CHAR(36),
- UNIQUE(anyType_id, any_id, group_id))
- </entry>
- <entry key="DynRoleMembers">
- CREATE TABLE DynRoleMembers(
- any_id CHAR(36),
- role_id VARCHAR(255),
- UNIQUE(any_id, role_id))
- </entry>
- <entry key="DynRealmMembers">
- CREATE TABLE DynRealmMembers(
- any_id CHAR(36),
- dynRealm_id VARCHAR(255),
- UNIQUE(any_id, dynRealm_id))
- </entry>
-
- <!-- user -->
- <entry key="user_search">
- CREATE VIEW user_search AS
-
- SELECT u.id as any_id, u.*,attrs,attrValues
- FROM SyncopeUser u, jsonb_array_elements(COALESCE(u.plainAttrs, '[{}]'::jsonb)) attrs,
- jsonb_array_elements(COALESCE(attrs -> 'values', '[{}]'::jsonb)) attrValues
- </entry>
- <entry key="user_search_urelationship">
- CREATE VIEW user_search_urelationship AS
-
- SELECT m.user_id AS any_id, m.anyObject_id AS right_any_id, m.type_id AS type
- FROM URelationship m
- </entry>
- <entry key="user_search_umembership">
- CREATE VIEW user_search_umembership AS
-
- SELECT m.user_id AS any_id, g.id AS group_id, g.name AS group_name
- FROM UMembership m, SyncopeGroup g
- WHERE m.group_id = g.id
- </entry>
- <entry key="user_search_role">
- CREATE VIEW user_search_role AS
-
- SELECT ss.user_id AS any_id, ss.role_id AS role_id
- FROM SyncopeUser_SyncopeRole ss
- </entry>
- <entry key="user_search_priv">
- CREATE VIEW user_search_priv AS
-
- SELECT ss.user_id AS any_id, sp.privilege_id AS privilege_id
- FROM SyncopeUser_SyncopeRole ss, SyncopeRole_Privilege sp
- WHERE ss.role_id = sp.role_id
- </entry>
- <entry key="user_search_dynpriv">
- CREATE VIEW user_search_dynpriv AS
-
- SELECT any_id, privilege_id
- FROM DynRoleMembers drm, SyncopeRole_Privilege rp
- WHERE drm.role_id = rp.role_id
- </entry>
- <entry key="user_search_resource">
- CREATE VIEW user_search_resource AS
-
- SELECT st.user_id AS any_id, st.resource_id AS resource_id
- FROM SyncopeUser_ExternalResource st
- </entry>
- <entry key="user_search_group_res">
- CREATE VIEW user_search_group_res AS
-
- SELECT m.user_id AS any_id, st.resource_id AS resource_id
- FROM UMembership m, SyncopeGroup r, SyncopeGroup_ExternalResource st
- WHERE m.group_id = r.id AND st.group_id = r.id
- </entry>
-
- <!-- anyObject -->
- <entry key="anyObject_search">
- CREATE VIEW anyObject_search AS
-
- SELECT a.id as any_id, a.*,attrs,attrValues
- FROM AnyObject a, jsonb_array_elements(COALESCE(a.plainAttrs, '[{}]'::jsonb)) attrs,
- jsonb_array_elements(COALESCE(attrs -> 'values', '[{}]'::jsonb)) attrValues
- </entry>
- <entry key="anyObject_search_arelationship">
- CREATE VIEW anyObject_search_arelationship AS
-
- SELECT m.left_anyObject_id AS any_id, m.right_anyObject_id AS right_any_id, m.type_id AS type
- FROM ARelationship m
- </entry>
- <entry key="anyObject_search_amembership">
- CREATE VIEW anyObject_search_amembership AS
-
- SELECT m.anyObject_id AS any_id, g.id AS group_id, g.name AS group_name
- FROM AMembership m, SyncopeGroup g
- WHERE m.group_id = g.id
- </entry>
- <entry key="anyObject_search_resource">
- CREATE VIEW anyObject_search_resource AS
-
- SELECT st.anyObject_id AS any_id, st.resource_id AS resource_id
- FROM AnyObject_ExternalResource st
- </entry>
- <entry key="anyObject_search_group_res">
- CREATE VIEW anyObject_search_group_res AS
-
- SELECT m.anyObject_id AS any_id, st.resource_id AS resource_id
- FROM AMembership m, SyncopeGroup r, SyncopeGroup_ExternalResource st
- WHERE m.group_id = r.id AND st.group_id = r.id
- </entry>
-
- <!-- group -->
- <entry key="group_search">
- CREATE VIEW group_search AS
-
- SELECT g.id as any_id, g.*,attrs,attrValues
- FROM SyncopeGroup g, jsonb_array_elements(COALESCE(g.plainAttrs, '[{}]'::jsonb)) attrs,
- jsonb_array_elements(COALESCE(attrs -> 'values', '[{}]'::jsonb)) attrValues
- </entry>
- <entry key="group_search_resource">
- CREATE VIEW group_search_resource AS
-
- SELECT st.group_id AS any_id, st.resource_id AS resource_id
- FROM SyncopeGroup_ExternalResource st
- </entry>
-
-</properties>
diff --git a/core/pom.xml b/core/pom.xml
index 57d8941..e780489 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -79,7 +79,7 @@ under the License.
<modules>
<module>persistence-api</module>
<module>persistence-jpa</module>
- <module>persistence-jpa-pgjsonb</module>
+ <module>persistence-jpa-json</module>
<module>spring</module>
<module>provisioning-api</module>
<module>provisioning-java</module>
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 754640c..b7ce361 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -601,7 +601,7 @@ under the License.
<dependencies>
<dependency>
<groupId>org.apache.syncope.core</groupId>
- <artifactId>syncope-core-persistence-jpa-pgjsonb</artifactId>
+ <artifactId>syncope-core-persistence-jpa-json</artifactId>
<version>${project.version}</version>
</dependency>
@@ -724,15 +724,16 @@ under the License.
<filtering>true</filtering>
</resource>
<resource>
- <directory>${basedir}/../../core/persistence-jpa-pgjsonb/src/test/resources/domains</directory>
+ <directory>${basedir}/../../core/persistence-jpa-json/src/test/resources/pgjsonb/domains</directory>
<targetPath>${project.build.directory}/classes/domains</targetPath>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
- <directory>src/main/resources/pgjsonb</directory>
+ <directory>${basedir}/../../core/persistence-jpa-json/src/main/resources/pgjsonb</directory>
<includes>
+ <include>persistence.properties</include>
<include>indexes.xml</include>
<include>views.xml</include>
</includes>
diff --git a/fit/core-reference/src/main/resources/pgjsonb/persistence.properties b/fit/core-reference/src/main/resources/pgjsonb/persistence.properties
deleted file mode 100644
index a299527..0000000
--- a/fit/core-reference/src/main/resources/pgjsonb/persistence.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-# 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.
-content.directory=${conf.directory}
-entity.factory=org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityFactory
-plainSchema.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainSchemaDAO
-plainAttr.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrDAO
-plainAttrValue.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrValueDAO
-any.search.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnySearchDAO
-user.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAUserDAO
-group.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAGroupDAO
-anyObject.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnyObjectDAO
-conf.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAConfDAO
-openjpa.RemoteCommitProvider=sjvm
diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc
index ec8f3c6..099ef0f 100644
--- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc
+++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/dbms.adoc
@@ -74,7 +74,7 @@ Add the following dependency to `core/pom.xml`:
----
<dependency>
<groupId>org.apache.syncope.core</groupId>
- <artifactId>syncope-core-persistence-jpa-pgjsonb</artifactId>
+ <artifactId>syncope-core-persistence-jpa-json</artifactId>
<version>${syncope.version}</version>
</dependency>
----
@@ -82,15 +82,15 @@ Add the following dependency to `core/pom.xml`:
In `persistence.properties`, replace as follows:
....
-entity.factory=org.apache.syncope.core.persistence.jpa.entity.PGJPAEntityFactory
-plainSchema.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainSchemaDAO
-plainAttr.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrDAO
-plainAttrValue.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAPlainAttrValueDAO
-any.search.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnySearchDAO
-user.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAUserDAO
-group.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAGroupDAO
-anyObject.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAAnyObjectDAO
-conf.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAConfDAO
+entity.factory=org.apache.syncope.core.persistence.jpa.entity.PGJPAJSONEntityFactory
+plainSchema.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainSchemaDAO
+plainAttr.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainAttrDAO
+plainAttrValue.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONPlainAttrValueDAO
+any.search.dao=org.apache.syncope.core.persistence.jpa.dao.PGJPAJSONAnySearchDAO
+user.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONUserDAO
+group.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONGroupDAO
+anyObject.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONAnyObjectDAO
+conf.dao=org.apache.syncope.core.persistence.jpa.dao.JPAJSONConfDAO
....
In `provisioning.properties`, replace as follows: