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 2015/08/02 07:45:27 UTC
[13/15] syncope git commit: [SYNCOPE-652] Still several things to
refine, but it starts taking shape
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEnforcer.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEnforcer.java b/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEnforcer.java
index c8274a4..86e6583 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEnforcer.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEnforcer.java
@@ -23,5 +23,13 @@ import org.apache.syncope.common.lib.types.PolicyType;
public interface PolicyEnforcer<T extends PolicySpec, E> {
- void enforce(final T policy, final PolicyType type, final E object);
+ /**
+ * Check the given entity to see if it conforms with the indicated policy.
+ *
+ * @param policy
+ * @param type
+ * @param entity
+ * @return whether user is to be suspended
+ */
+ boolean enforce(final T policy, final PolicyType type, final E entity);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEvaluator.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEvaluator.java b/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEvaluator.java
index 52fa0d8..fd6abd2 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEvaluator.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/policy/PolicyEvaluator.java
@@ -34,9 +34,6 @@ import org.springframework.stereotype.Component;
@Component
public class PolicyEvaluator {
- /**
- * Logger.
- */
private static final Logger LOG = LoggerFactory.getLogger(PolicyEvaluator.class);
@SuppressWarnings("unchecked")
@@ -54,7 +51,7 @@ public class PolicyEvaluator {
BeanUtils.copyProperties(ppSpec, evaluatedPPSpec, new String[] { "schemasNotPermitted" });
for (String schema : ppSpec.getSchemasNotPermitted()) {
- PlainAttr attr = any.getPlainAttr(schema);
+ PlainAttr<?> attr = any.getPlainAttr(schema);
if (attr != null) {
List<String> values = attr.getValuesAsStrings();
if (values != null && !values.isEmpty()) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/security/AuthContextUtils.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/security/AuthContextUtils.java b/core/misc/src/main/java/org/apache/syncope/core/misc/security/AuthContextUtils.java
index 932627d..38240d9 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/security/AuthContextUtils.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/security/AuthContextUtils.java
@@ -18,12 +18,18 @@
*/
package org.apache.syncope.core.misc.security;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
+import org.apache.commons.collections4.Transformer;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.common.lib.types.Entitlement;
+import org.apache.syncope.core.misc.spring.ApplicationContextProvider;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
@@ -79,6 +85,27 @@ public final class AuthContextUtils {
return domainKey;
}
+ public static void setFakeAuth(final String domain) {
+ List<GrantedAuthority> authorities = CollectionUtils.collect(Entitlement.values(),
+ new Transformer<String, GrantedAuthority>() {
+
+ @Override
+ public GrantedAuthority transform(final String entitlement) {
+ return new SyncopeGrantedAuthority(entitlement, SyncopeConstants.ROOT_REALM);
+ }
+ }, new ArrayList<GrantedAuthority>());
+
+ UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(
+ new User(ApplicationContextProvider.getBeanFactory().getBean("adminUser", String.class),
+ "FAKE_PASSWORD", authorities), "FAKE_PASSWORD", authorities);
+ auth.setDetails(new SyncopeAuthenticationDetails(domain));
+ SecurityContextHolder.getContext().setAuthentication(auth);
+ }
+
+ public static void clearFakeAuth() {
+ SecurityContextHolder.clearContext();
+ }
+
/**
* Private default constructor, for static-only classes.
*/
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/security/PasswordGenerator.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/security/PasswordGenerator.java b/core/misc/src/main/java/org/apache/syncope/core/misc/security/PasswordGenerator.java
index eab59bb..44635be 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/security/PasswordGenerator.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/security/PasswordGenerator.java
@@ -215,7 +215,7 @@ public class PasswordGenerator {
String[] generatedPassword = new String[policySpec.getMinLength()];
for (int i = 0; i < generatedPassword.length; i++) {
- generatedPassword[i] = "";
+ generatedPassword[i] = StringUtils.EMPTY;
}
checkStartChar(generatedPassword, policySpec);
@@ -224,7 +224,6 @@ public class PasswordGenerator {
checkRequired(generatedPassword, policySpec);
- //filled empty chars
for (int firstEmptyChar = firstEmptyChar(generatedPassword);
firstEmptyChar < generatedPassword.length - 1; firstEmptyChar++) {
@@ -252,6 +251,10 @@ public class PasswordGenerator {
if (policySpec.isMustntStartWithNonAlpha()) {
generatedPassword[0] = SecureRandomUtils.generateRandomLetter();
}
+
+ if (StringUtils.EMPTY.equals(generatedPassword[0])) {
+ generatedPassword[0] = SecureRandomUtils.generateRandomLetter();
+ }
}
private void checkEndChar(final String[] generatedPassword, final PasswordPolicySpec policySpec) {
@@ -271,6 +274,10 @@ public class PasswordGenerator {
if (policySpec.isMustntEndWithNonAlpha()) {
generatedPassword[policySpec.getMinLength() - 1] = SecureRandomUtils.generateRandomLetter();
}
+
+ if (StringUtils.EMPTY.equals(generatedPassword[policySpec.getMinLength() - 1])) {
+ generatedPassword[policySpec.getMinLength() - 1] = SecureRandomUtils.generateRandomLetter();
+ }
}
private int firstEmptyChar(final String[] generatedPStrings) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeAuthenticationProvider.java b/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeAuthenticationProvider.java
index 01abb93..f452128 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeAuthenticationProvider.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeAuthenticationProvider.java
@@ -191,23 +191,23 @@ public class SyncopeAuthenticationProvider implements AuthenticationProvider {
auditManager.audit(
AuditElements.EventCategoryType.REST,
- "AuthenticationController",
+ AuditElements.AUTHENTICATION_CATEGORY,
null,
- "login",
+ AuditElements.LOGIN_EVENT,
Result.SUCCESS,
null,
authenticated,
authentication,
- "Successfully authenticated, with groups: " + token.getAuthorities());
+ "Successfully authenticated, with entitlements: " + token.getAuthorities());
LOG.debug("User {} successfully authenticated, with groups {}",
authentication.getPrincipal(), token.getAuthorities());
} else {
auditManager.audit(
AuditElements.EventCategoryType.REST,
- "AuthenticationController",
+ AuditElements.AUTHENTICATION_CATEGORY,
null,
- "login",
+ AuditElements.LOGIN_EVENT,
Result.FAILURE,
null,
authenticated,
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeGrantedAuthority.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeGrantedAuthority.java b/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeGrantedAuthority.java
index f8f974b..100de17 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeGrantedAuthority.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/security/SyncopeGrantedAuthority.java
@@ -27,6 +27,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.SetUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.syncope.core.misc.RealmUtils;
import org.springframework.security.core.GrantedAuthority;
@@ -80,4 +82,9 @@ public class SyncopeGrantedAuthority implements GrantedAuthority {
return HashCodeBuilder.reflectionHashCode(this);
}
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/misc/src/main/java/org/apache/syncope/core/misc/spring/ApplicationContextProvider.java
----------------------------------------------------------------------
diff --git a/core/misc/src/main/java/org/apache/syncope/core/misc/spring/ApplicationContextProvider.java b/core/misc/src/main/java/org/apache/syncope/core/misc/spring/ApplicationContextProvider.java
index 1aa4367..e67dcd6 100644
--- a/core/misc/src/main/java/org/apache/syncope/core/misc/spring/ApplicationContextProvider.java
+++ b/core/misc/src/main/java/org/apache/syncope/core/misc/spring/ApplicationContextProvider.java
@@ -27,12 +27,22 @@ public class ApplicationContextProvider implements ApplicationContextAware {
private static ConfigurableApplicationContext CTX;
+ private static DefaultListableBeanFactory BEAN_FACTORY;
+
public static ConfigurableApplicationContext getApplicationContext() {
return CTX;
}
public static DefaultListableBeanFactory getBeanFactory() {
- return (DefaultListableBeanFactory) CTX.getBeanFactory();
+ return BEAN_FACTORY == null
+ ? CTX == null
+ ? null
+ : (DefaultListableBeanFactory) CTX.getBeanFactory()
+ : BEAN_FACTORY;
+ }
+
+ public static void setBeanFactory(final DefaultListableBeanFactory beanFactory) {
+ BEAN_FACTORY = beanFactory;
}
/**
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/DomainsHolder.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/DomainsHolder.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/DomainsHolder.java
new file mode 100644
index 0000000..1d8e27c
--- /dev/null
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/DomainsHolder.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.core.persistence.api;
+
+import java.util.Map;
+import javax.sql.DataSource;
+
+public interface DomainsHolder {
+
+ Map<String, DataSource> getDomains();
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/content/ContentExporter.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/content/ContentExporter.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/content/ContentExporter.java
index 67508f7..5ed50df 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/content/ContentExporter.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/content/ContentExporter.java
@@ -24,6 +24,6 @@ import org.xml.sax.SAXException;
public interface ContentExporter {
- void export(OutputStream output, String uwfPrefix, String rwfPrefix)
+ void export(String domain, OutputStream output, String uwfPrefix, String rwfPrefix)
throws SAXException, TransformerConfigurationException;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/DAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/DAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/DAO.java
index eb00a0d..4452890 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/DAO.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/DAO.java
@@ -22,8 +22,6 @@ import org.apache.syncope.core.persistence.api.entity.Entity;
public interface DAO<E extends Entity<KEY>, KEY> {
- String getDomain(E entity);
-
void refresh(E entity);
void detach(E entity);
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
index 734194b..0913ee1 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
@@ -24,7 +24,7 @@ public interface SchedTask extends Task {
String getDescription();
- String getJobClassName();
+ String getJobDelegateClassName();
String getName();
@@ -32,7 +32,7 @@ public interface SchedTask extends Task {
void setDescription(String description);
- void setJobClassName(String jobClassName);
+ void setJobDelegateClassName(String jobDelegateClassName);
void setName(String name);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/pom.xml b/core/persistence-jpa/pom.xml
index f60f3da..7f1ff38 100644
--- a/core/persistence-jpa/pom.xml
+++ b/core/persistence-jpa/pom.xml
@@ -80,6 +80,11 @@ under the License.
</dependency>
<dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/AbstractContentDealer.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/AbstractContentDealer.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/AbstractContentDealer.java
index 3bec6b1..9e44efe 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/AbstractContentDealer.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/AbstractContentDealer.java
@@ -18,17 +18,10 @@
*/
package org.apache.syncope.core.persistence.jpa.content;
-import java.io.IOException;
-import java.util.Properties;
-import javax.annotation.Resource;
-import javax.sql.DataSource;
-import org.apache.syncope.core.misc.spring.ResourceWithFallbackLoader;
+import org.apache.syncope.core.persistence.api.DomainsHolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.support.PropertiesLoaderUtils;
-import org.springframework.dao.DataAccessException;
-import org.springframework.jdbc.core.JdbcTemplate;
public abstract class AbstractContentDealer {
@@ -36,53 +29,7 @@ public abstract class AbstractContentDealer {
protected static final String ROOT_ELEMENT = "dataset";
- @Resource(name = "database.schema")
- protected String dbSchema;
-
- @Resource(name = "indexesXML")
- private ResourceWithFallbackLoader indexesXML;
-
- @Resource(name = "viewsXML")
- private ResourceWithFallbackLoader viewsXML;
-
@Autowired
- protected DataSource dataSource;
-
- protected void createIndexes() throws IOException {
- LOG.debug("Creating indexes");
-
- JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
-
- Properties indexes = PropertiesLoaderUtils.loadProperties(indexesXML.getResource());
- for (String idx : indexes.stringPropertyNames()) {
- LOG.debug("Creating index {}", indexes.get(idx).toString());
-
- try {
- jdbcTemplate.execute(indexes.get(idx).toString());
- } catch (DataAccessException e) {
- LOG.error("Could not create index ", e);
- }
- }
-
- LOG.debug("Indexes created");
- }
-
- protected void createViews() throws IOException {
- LOG.debug("Creating views");
-
- JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
-
- Properties views = PropertiesLoaderUtils.loadProperties(viewsXML.getResource());
- for (String idx : views.stringPropertyNames()) {
- LOG.debug("Creating view {}", views.get(idx).toString());
-
- try {
- jdbcTemplate.execute(views.get(idx).toString().replaceAll("\\n", " "));
- } catch (DataAccessException e) {
- LOG.error("Could not create view ", e);
- }
- }
+ protected DomainsHolder domainsHolder;
- LOG.debug("Views created");
- }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
index ea13072..17f4bce 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentExporter.java
@@ -40,6 +40,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
+import javax.sql.DataSource;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
@@ -50,6 +51,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.core.misc.DataFormat;
+import org.apache.syncope.core.misc.spring.ApplicationContextProvider;
import org.apache.syncope.core.persistence.api.content.ContentExporter;
import org.apache.syncope.core.persistence.jpa.entity.JPAReportExec;
import org.apache.syncope.core.persistence.jpa.entity.anyobject.JPAADerAttr;
@@ -91,30 +93,13 @@ public class XMLContentExporter extends AbstractContentDealer implements Content
JPAARelationship.TABLE, JPAAMembership.TABLE, JPAURelationship.TABLE, JPAUMembership.TABLE
}));
- protected static final Set<String> TABLE_SUFFIXES_TO_BE_INCLUDED =
- new HashSet<>(Arrays.asList(new String[] { "TEMPLATE" }));
-
protected static final Map<String, String> TABLES_TO_BE_FILTERED =
Collections.singletonMap("TASK", "DTYPE <> 'PropagationTask'");
protected static final Map<String, Set<String>> COLUMNS_TO_BE_NULLIFIED =
Collections.singletonMap("SYNCOPEGROUP", Collections.singleton("USEROWNER_ID"));
- private boolean isTableAllowed(final String tableName) {
- boolean allowed = true;
- for (String prefix : TABLE_PREFIXES_TO_BE_EXCLUDED) {
- if (tableName.toUpperCase().startsWith(prefix)) {
- for (String suffix : TABLE_SUFFIXES_TO_BE_INCLUDED) {
- if (!tableName.toUpperCase().endsWith(suffix)) {
- allowed = false;
- }
- }
- }
- }
- return allowed;
- }
-
- private List<String> sortByForeignKeys(final Connection conn, final Set<String> tableNames)
+ private List<String> sortByForeignKeys(final String dbSchema, final Connection conn, final Set<String> tableNames)
throws SQLException {
Set<MultiParentNode<String>> roots = new HashSet<>();
@@ -325,7 +310,7 @@ public class XMLContentExporter extends AbstractContentDealer implements Content
}
@Override
- public void export(final OutputStream os, final String uwfPrefix, final String rwfPrefix)
+ public void export(final String domain, final OutputStream os, final String uwfPrefix, final String rwfPrefix)
throws SAXException, TransformerConfigurationException {
if (StringUtils.isNotBlank(uwfPrefix)) {
@@ -346,6 +331,13 @@ public class XMLContentExporter extends AbstractContentDealer implements Content
handler.startDocument();
handler.startElement("", "", ROOT_ELEMENT, new AttributesImpl());
+ DataSource dataSource = domainsHolder.getDomains().get(domain);
+ if (dataSource == null) {
+ throw new IllegalArgumentException("Could not find DataSource for domain " + domain);
+ }
+
+ String dbSchema = ApplicationContextProvider.getBeanFactory().getBean(domain + "DatabaseSchema", String.class);
+
Connection conn = null;
ResultSet rs = null;
try {
@@ -359,15 +351,13 @@ public class XMLContentExporter extends AbstractContentDealer implements Content
while (rs.next()) {
String tableName = rs.getString("TABLE_NAME");
LOG.debug("Found table {}", tableName);
- if (isTableAllowed(tableName)) {
- tableNames.add(tableName);
- }
+ tableNames.add(tableName);
}
LOG.debug("Tables to be exported {}", tableNames);
// then sort tables based on foreign keys and dump
- for (String tableName : sortByForeignKeys(conn, tableNames)) {
+ for (String tableName : sortByForeignKeys(dbSchema, conn, tableNames)) {
try {
doExportTable(handler, conn, tableName, TABLES_TO_BE_FILTERED.get(tableName.toUpperCase()));
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentLoader.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentLoader.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentLoader.java
index 086adfd..5d8cfc5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentLoader.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/content/XMLContentLoader.java
@@ -20,17 +20,22 @@ package org.apache.syncope.core.persistence.jpa.content;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Map;
+import java.util.Properties;
import javax.annotation.Resource;
+import javax.sql.DataSource;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.commons.io.IOUtils;
+import org.apache.syncope.core.misc.spring.ApplicationContextProvider;
+import org.apache.syncope.core.misc.spring.ResourceWithFallbackLoader;
import org.apache.syncope.core.persistence.api.content.ContentLoader;
import org.apache.syncope.core.persistence.jpa.entity.conf.JPAConf;
-import org.apache.syncope.core.misc.spring.ResourceWithFallbackLoader;
+import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.orm.jpa.EntityManagerFactoryUtils;
import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
/**
* Initialize Database with default content if no data is present already.
@@ -38,47 +43,59 @@ import org.springframework.transaction.annotation.Transactional;
@Component
public class XMLContentLoader extends AbstractContentDealer implements ContentLoader {
- @Resource(name = "contentXML")
- private ResourceWithFallbackLoader contentXML;
+ @Resource(name = "indexesXML")
+ private ResourceWithFallbackLoader indexesXML;
+
+ @Resource(name = "viewsXML")
+ private ResourceWithFallbackLoader viewsXML;
@Override
public Integer getPriority() {
return 0;
}
- @Transactional
@Override
public void load() {
- JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
-
- boolean existingData;
- try {
- existingData = jdbcTemplate.queryForObject("SELECT COUNT(0) FROM " + JPAConf.TABLE, Integer.class) > 0;
- } catch (DataAccessException e) {
- LOG.error("Could not access to table " + JPAConf.TABLE, e);
- existingData = true;
- }
-
- if (existingData) {
- LOG.info("Data found in the database, leaving untouched");
- } else {
- LOG.info("Empty database found, loading default content");
+ for (Map.Entry<String, DataSource> entry : domainsHolder.getDomains().entrySet()) {
+ // create EntityManager so OpenJPA will build the SQL schema
+ EntityManagerFactoryUtils.findEntityManagerFactory(
+ ApplicationContextProvider.getBeanFactory(), entry.getKey()).createEntityManager();
+ JdbcTemplate jdbcTemplate = new JdbcTemplate(entry.getValue());
+ boolean existingData;
try {
- loadDefaultContent();
- } catch (Exception e) {
- LOG.error("While loading default content", e);
+ existingData = jdbcTemplate.queryForObject("SELECT COUNT(0) FROM " + JPAConf.TABLE, Integer.class) > 0;
+ } catch (DataAccessException e) {
+ LOG.error("[{}] Could not access to table " + JPAConf.TABLE, entry.getKey(), e);
+ existingData = true;
}
- try {
- createIndexes();
- createViews();
- } catch (IOException e) {
- LOG.error("While creating indexes and views", e);
+
+ if (existingData) {
+ LOG.info("[{}] Data found in the database, leaving untouched", entry.getKey());
+ } else {
+ LOG.info("[{}] Empty database found, loading default content", entry.getKey());
+
+ try {
+ ResourceWithFallbackLoader contentXML = ApplicationContextProvider.getBeanFactory().
+ getBean(entry.getKey() + "ContentXML", ResourceWithFallbackLoader.class);
+ loadDefaultContent(entry.getKey(), contentXML, entry.getValue());
+ } catch (Exception e) {
+ LOG.error("[{}] While loading default content", entry.getKey(), e);
+ }
+ try {
+ createIndexes(entry.getKey(), entry.getValue());
+ createViews(entry.getKey(), entry.getValue());
+ } catch (IOException e) {
+ LOG.error("[{}] While creating indexes and views", entry.getKey(), e);
+ }
}
}
}
- private void loadDefaultContent() throws Exception {
+ private void loadDefaultContent(
+ final String domain, final ResourceWithFallbackLoader contentXML, final DataSource dataSource)
+ throws Exception {
+
SAXParserFactory factory = SAXParserFactory.newInstance();
InputStream in = null;
try {
@@ -86,9 +103,47 @@ public class XMLContentLoader extends AbstractContentDealer implements ContentLo
SAXParser parser = factory.newSAXParser();
parser.parse(in, new ContentLoaderHandler(dataSource, ROOT_ELEMENT));
- LOG.debug("Default content successfully loaded");
+ LOG.debug("[{}] Default content successfully loaded", domain);
} finally {
IOUtils.closeQuietly(in);
}
}
+
+ private void createIndexes(final String domain, final DataSource dataSource) throws IOException {
+ LOG.debug("[{}] Creating indexes", domain);
+
+ JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
+
+ Properties indexes = PropertiesLoaderUtils.loadProperties(indexesXML.getResource());
+ for (String idx : indexes.stringPropertyNames()) {
+ LOG.debug("[{}] Creating index {}", domain, indexes.get(idx).toString());
+
+ try {
+ jdbcTemplate.execute(indexes.get(idx).toString());
+ } catch (DataAccessException e) {
+ LOG.error("[{}] Could not create index", domain, e);
+ }
+ }
+
+ LOG.debug("Indexes created");
+ }
+
+ private void createViews(final String domain, final DataSource dataSource) throws IOException {
+ LOG.debug("[{}] Creating views", domain);
+
+ JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
+
+ Properties views = PropertiesLoaderUtils.loadProperties(viewsXML.getResource());
+ for (String idx : views.stringPropertyNames()) {
+ LOG.debug("[{}] Creating view {}", domain, views.get(idx).toString());
+
+ try {
+ jdbcTemplate.execute(views.get(idx).toString().replaceAll("\\n", " "));
+ } catch (DataAccessException e) {
+ LOG.error("[{}] Could not create view", domain, e);
+ }
+ }
+
+ LOG.debug("Views created");
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnyDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnyDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnyDAO.java
index ef2161e..95f5b4e 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnyDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnyDAO.java
@@ -18,8 +18,6 @@
*/
package org.apache.syncope.core.persistence.jpa.dao;
-import static org.apache.syncope.core.persistence.jpa.dao.AbstractDAO.LOG;
-
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collections;
@@ -54,6 +52,7 @@ import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.persistence.jpa.entity.AbstractPlainAttrValue;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO<A, Long> implements AnyDAO<A> {
@@ -81,6 +80,7 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
protected abstract void securityChecks(A any);
+ @Transactional(readOnly = true)
@Override
public A authFind(final Long key) {
if (key == null) {
@@ -98,16 +98,17 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
return any;
}
+ @Transactional(readOnly = true)
@Override
@SuppressWarnings("unchecked")
public A find(final Long key) {
- return (A) entityManager.find(getAnyUtils().anyClass(), key);
+ return (A) entityManager().find(getAnyUtils().anyClass(), key);
}
@SuppressWarnings("unchecked")
@Override
public A findByWorkflowId(final String workflowId) {
- Query query = entityManager.createQuery("SELECT e FROM " + getAnyUtils().anyClass().getSimpleName()
+ Query query = entityManager().createQuery("SELECT e FROM " + getAnyUtils().anyClass().getSimpleName()
+ " e WHERE e.workflowId = :workflowId", User.class);
query.setParameter("workflowId", workflowId);
@@ -122,7 +123,7 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
}
private Query findByAttrValueQuery(final String entityName) {
- return entityManager.createQuery("SELECT e FROM " + entityName + " e"
+ return entityManager().createQuery("SELECT e FROM " + entityName + " e"
+ " WHERE e.attribute.schema.name = :schemaName AND (e.stringValue IS NOT NULL"
+ " AND e.stringValue = :stringValue)"
+ " OR (e.booleanValue IS NOT NULL AND e.booleanValue = :booleanValue)"
@@ -362,7 +363,7 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
}
}
- Query query = entityManager.createNativeQuery(querystring.toString());
+ Query query = entityManager().createNativeQuery(querystring.toString());
List<A> result = new ArrayList<>();
for (Object anyKey : query.getResultList()) {
@@ -378,7 +379,7 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
@SuppressWarnings("unchecked")
@Override
public List<A> findByResource(final ExternalResource resource) {
- Query query = entityManager.createQuery(
+ Query query = entityManager().createQuery(
"SELECT e FROM " + getAnyUtils().anyClass().getSimpleName() + " e "
+ "WHERE :resource MEMBER OF e.resources");
query.setParameter("resource", resource);
@@ -414,7 +415,7 @@ public abstract class AbstractAnyDAO<A extends Any<?, ?, ?>> extends AbstractDAO
@Override
public A save(final A any) {
- A merged = entityManager.merge(any);
+ A merged = entityManager().merge(any);
for (VirAttr<?> virAttr : merged.getVirAttrs()) {
virAttr.getValues().clear();
virAttr.getValues().addAll(any.getVirAttr(virAttr.getSchema().getKey()).getValues());
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java
index f4916c7..e5c1d66 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractDAO.java
@@ -20,17 +20,16 @@ package org.apache.syncope.core.persistence.jpa.dao;
import java.util.List;
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.common.lib.SyncopeConstants;
+import org.apache.syncope.core.misc.security.AuthContextUtils;
+import org.apache.syncope.core.misc.spring.ApplicationContextProvider;
import org.apache.syncope.core.persistence.api.dao.DAO;
import org.apache.syncope.core.persistence.api.dao.search.OrderByClause;
import org.apache.syncope.core.persistence.api.entity.Entity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Configurable;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.orm.jpa.EntityManagerFactoryUtils;
import org.springframework.util.ReflectionUtils;
@Configurable
@@ -38,9 +37,16 @@ public abstract class AbstractDAO<E extends Entity<KEY>, KEY> implements DAO<E,
protected static final Logger LOG = LoggerFactory.getLogger(DAO.class);
- @Value("#{entityManager}")
- @PersistenceContext(type = PersistenceContextType.TRANSACTION)
- protected EntityManager entityManager;
+ protected EntityManager entityManager() {
+ EntityManager entityManager = EntityManagerFactoryUtils.getTransactionalEntityManager(
+ EntityManagerFactoryUtils.findEntityManagerFactory(
+ ApplicationContextProvider.getBeanFactory(), AuthContextUtils.getDomain()));
+ if (entityManager == null) {
+ throw new IllegalStateException("Could not find EntityManager for domain " + AuthContextUtils.getDomain());
+ }
+
+ return entityManager;
+ }
protected String toOrderByStatement(final Class<? extends Entity<KEY>> beanClass, final String prefix,
final List<OrderByClause> orderByClauses) {
@@ -64,27 +70,22 @@ public abstract class AbstractDAO<E extends Entity<KEY>, KEY> implements DAO<E,
}
@Override
- public String getDomain(final E entity) {
- return SyncopeConstants.MASTER_DOMAIN;
- }
-
- @Override
public void refresh(final E entity) {
- entityManager.refresh(entity);
+ entityManager().refresh(entity);
}
@Override
public void detach(final E entity) {
- entityManager.detach(entity);
+ entityManager().detach(entity);
}
@Override
public void flush() {
- entityManager.flush();
+ entityManager().flush();
}
@Override
public void clear() {
- entityManager.clear();
+ entityManager().clear();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
index 968f990..75b903d 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyObjectDAO.java
@@ -99,7 +99,7 @@ public class JPAAnyObjectDAO extends AbstractAnyDAO<AnyObject> implements AnyObj
@Override
public List<ARelationship> findARelationships(final AnyObject anyObject) {
- TypedQuery<ARelationship> query = entityManager.createQuery(
+ TypedQuery<ARelationship> query = entityManager().createQuery(
"SELECT e FROM " + JPAARelationship.class.getSimpleName()
+ " e WHERE e.rightEnd=:anyObject", ARelationship.class);
query.setParameter("anyObject", anyObject);
@@ -109,7 +109,7 @@ public class JPAAnyObjectDAO extends AbstractAnyDAO<AnyObject> implements AnyObj
@Override
public List<URelationship> findURelationships(final AnyObject anyObject) {
- TypedQuery<URelationship> query = entityManager.createQuery(
+ TypedQuery<URelationship> query = entityManager().createQuery(
"SELECT e FROM " + JPAURelationship.class.getSimpleName()
+ " e WHERE e.rightEnd=:anyObject", URelationship.class);
query.setParameter("anyObject", anyObject);
@@ -132,13 +132,13 @@ public class JPAAnyObjectDAO extends AbstractAnyDAO<AnyObject> implements AnyObj
group.getADynMembership().remove(any);
}
- entityManager.remove(any);
+ entityManager().remove(any);
}
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
@Override
public List<Group> findDynGroupMemberships(final AnyObject anyObject) {
- TypedQuery<Group> query = entityManager.createQuery(
+ TypedQuery<Group> query = entityManager().createQuery(
"SELECT e.group FROM " + JPAADynGroupMembership.class.getSimpleName()
+ " e WHERE :anyObject MEMBER OF e.anyObjects", Group.class);
query.setParameter("anyObject", anyObject);
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index e0eae6a..2b422eb 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -143,7 +143,7 @@ public class JPAAnySearchDAO extends AbstractDAO<Any<?, ?, ?>, Long> implements
queryString.insert(0, "SELECT COUNT(any_id) FROM (");
queryString.append(") count_any_id");
- Query countQuery = entityManager.createNativeQuery(queryString.toString());
+ Query countQuery = entityManager().createNativeQuery(queryString.toString());
fillWithParameters(countQuery, parameters);
return ((Number) countQuery.getSingleResult()).intValue();
@@ -208,7 +208,7 @@ public class JPAAnySearchDAO extends AbstractDAO<Any<?, ?, ?>, Long> implements
queryString.append(") u WHERE any_id=?").append(setParameter(parameters, any.getKey()));
// 3. prepare the search query
- Query query = entityManager.createNativeQuery(queryString.toString());
+ Query query = entityManager().createNativeQuery(queryString.toString());
// 4. populate the search query with parameter values
fillWithParameters(query, parameters);
@@ -371,7 +371,7 @@ public class JPAAnySearchDAO extends AbstractDAO<Any<?, ?, ?>, Long> implements
append(buildOrderBy(orderBySupport));
// 3. prepare the search query
- Query query = entityManager.createNativeQuery(queryString.toString());
+ Query query = entityManager().createNativeQuery(queryString.toString());
// 4. page starts from 1, while setFirtResult() starts from 0
query.setFirstResult(itemsPerPage * (page <= 0 ? 0 : page - 1));
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeClassDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeClassDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeClassDAO.java
index 58b547d..9a01442 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeClassDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeClassDAO.java
@@ -51,19 +51,19 @@ public class JPAAnyTypeClassDAO extends AbstractDAO<AnyTypeClass, String> implem
@Override
public AnyTypeClass find(final String key) {
- return entityManager.find(JPAAnyTypeClass.class, key);
+ return entityManager().find(JPAAnyTypeClass.class, key);
}
@Override
public List<AnyTypeClass> findAll() {
- TypedQuery<AnyTypeClass> query = entityManager.createQuery(
+ TypedQuery<AnyTypeClass> query = entityManager().createQuery(
"SELECT e FROM " + JPAAnyTypeClass.class.getSimpleName() + " e ", AnyTypeClass.class);
return query.getResultList();
}
@Override
public AnyTypeClass save(final AnyTypeClass anyTypeClass) {
- AnyTypeClass merge = entityManager.merge(anyTypeClass);
+ AnyTypeClass merge = entityManager().merge(anyTypeClass);
for (PlainSchema schema : merge.getPlainSchemas()) {
schema.setAnyTypeClass(merge);
@@ -99,7 +99,7 @@ public class JPAAnyTypeClassDAO extends AbstractDAO<AnyTypeClass, String> implem
type.remove(anyTypeClass);
}
- entityManager.remove(anyTypeClass);
+ entityManager().remove(anyTypeClass);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeDAO.java
index 4342811..cf87a3b 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnyTypeDAO.java
@@ -32,7 +32,7 @@ public class JPAAnyTypeDAO extends AbstractDAO<AnyType, String> implements AnyTy
@Override
public AnyType find(final String key) {
- return entityManager.find(JPAAnyType.class, key);
+ return entityManager().find(JPAAnyType.class, key);
}
@Override
@@ -50,7 +50,7 @@ public class JPAAnyTypeDAO extends AbstractDAO<AnyType, String> implements AnyTy
append(JPAAnyType.class.getSimpleName()).
append(" e WHERE :anyTypeClass MEMBER OF e.classes");
- TypedQuery<AnyType> query = entityManager.createQuery(queryString.toString(), AnyType.class);
+ TypedQuery<AnyType> query = entityManager().createQuery(queryString.toString(), AnyType.class);
query.setParameter("anyTypeClass", anyTypeClass);
return query.getResultList();
@@ -58,14 +58,14 @@ public class JPAAnyTypeDAO extends AbstractDAO<AnyType, String> implements AnyTy
@Override
public List<AnyType> findAll() {
- TypedQuery<AnyType> query = entityManager.createQuery(
+ TypedQuery<AnyType> query = entityManager().createQuery(
"SELECT e FROM " + JPAAnyType.class.getSimpleName() + " e ", AnyType.class);
return query.getResultList();
}
@Override
public AnyType save(final AnyType anyType) {
- return entityManager.merge(anyType);
+ return entityManager().merge(anyType);
}
@Override
@@ -79,7 +79,7 @@ public class JPAAnyTypeDAO extends AbstractDAO<AnyType, String> implements AnyTy
throw new IllegalArgumentException(key + " cannot be deleted");
}
- entityManager.remove(anyType);
+ entityManager().remove(anyType);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConfDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConfDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConfDAO.java
index 7045a1a..4afe78e 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConfDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConfDAO.java
@@ -42,12 +42,12 @@ public class JPAConfDAO extends AbstractDAO<Conf, Long> implements ConfDAO {
@Override
public Conf get() {
- Conf instance = entityManager.find(JPAConf.class, 1L);
+ Conf instance = entityManager().find(JPAConf.class, 1L);
if (instance == null) {
instance = new JPAConf();
instance.setKey(1L);
- instance = entityManager.merge(instance);
+ instance = entityManager().merge(instance);
}
return instance;
@@ -97,7 +97,7 @@ public class JPAConfDAO extends AbstractDAO<Conf, Long> implements ConfDAO {
instance.add(attr);
attr.setOwner(instance);
- return entityManager.merge(instance);
+ return entityManager().merge(instance);
}
@Override
@@ -106,7 +106,7 @@ public class JPAConfDAO extends AbstractDAO<Conf, Long> implements ConfDAO {
CPlainAttr attr = instance.getPlainAttr(key);
if (attr != null) {
instance.remove(attr);
- instance = entityManager.merge(instance);
+ instance = entityManager().merge(instance);
}
return instance;
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConnInstanceDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConnInstanceDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConnInstanceDAO.java
index 453c363..eb027e9 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConnInstanceDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAConnInstanceDAO.java
@@ -44,19 +44,19 @@ public class JPAConnInstanceDAO extends AbstractDAO<ConnInstance, Long> implemen
@Override
public ConnInstance find(final Long key) {
- return entityManager.find(JPAConnInstance.class, key);
+ return entityManager().find(JPAConnInstance.class, key);
}
@Override
public List<ConnInstance> findAll() {
- TypedQuery<ConnInstance> query = entityManager.createQuery(
+ TypedQuery<ConnInstance> query = entityManager().createQuery(
"SELECT e FROM " + JPAConnInstance.class.getSimpleName() + " e", ConnInstance.class);
return query.getResultList();
}
@Override
public ConnInstance save(final ConnInstance connector) {
- final ConnInstance merged = entityManager.merge(connector);
+ final ConnInstance merged = entityManager().merge(connector);
for (ExternalResource resource : merged.getResources()) {
try {
@@ -86,7 +86,7 @@ public class JPAConnInstanceDAO extends AbstractDAO<ConnInstance, Long> implemen
});
- entityManager.remove(connInstance);
+ entityManager().remove(connInstance);
connRegistry.unregisterConnector(key.toString());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerAttrDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerAttrDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerAttrDAO.java
index 2162898..8dff203 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerAttrDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerAttrDAO.java
@@ -49,19 +49,19 @@ public class JPADerAttrDAO extends AbstractDAO<DerAttr<?>, Long> implements DerA
@Override
public <T extends DerAttr<?>> T find(final Long key, final Class<T> reference) {
- return reference.cast(entityManager.find(getJPAEntityReference(reference), key));
+ return reference.cast(entityManager().find(getJPAEntityReference(reference), key));
}
@Override
public <T extends DerAttr<?>> List<T> findAll(final Class<T> reference) {
- TypedQuery<T> query = entityManager.createQuery(
+ TypedQuery<T> query = entityManager().createQuery(
"SELECT e FROM " + getJPAEntityReference(reference).getSimpleName() + " e", reference);
return query.getResultList();
}
@Override
public <T extends DerAttr<?>> T save(final T derAttr) {
- return entityManager.merge(derAttr);
+ return entityManager().merge(derAttr);
}
@Override
@@ -81,6 +81,6 @@ public class JPADerAttrDAO extends AbstractDAO<DerAttr<?>, Long> implements DerA
((Any<?, T, ?>) derAttr.getOwner()).remove(derAttr);
}
- entityManager.remove(derAttr);
+ entityManager().remove(derAttr);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
index 18b6636..4ed17ca 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
@@ -45,7 +45,7 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
@Override
public DerSchema find(final String key) {
- return entityManager.find(JPADerSchema.class, key);
+ return entityManager().find(JPADerSchema.class, key);
}
@Override
@@ -54,7 +54,7 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
append(JPADerSchema.class.getSimpleName()).
append(" e WHERE e.anyTypeClass=:anyTypeClass");
- TypedQuery<DerSchema> query = entityManager.createQuery(queryString.toString(), DerSchema.class);
+ TypedQuery<DerSchema> query = entityManager().createQuery(queryString.toString(), DerSchema.class);
query.setParameter("anyTypeClass", anyTypeClass);
return query.getResultList();
@@ -62,7 +62,7 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
@Override
public List<DerSchema> findAll() {
- TypedQuery<DerSchema> query = entityManager.createQuery(
+ TypedQuery<DerSchema> query = entityManager().createQuery(
"SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e", DerSchema.class);
return query.getResultList();
}
@@ -73,7 +73,7 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
append(((JPADerAttrDAO) derAttrDAO).getJPAEntityReference(reference).getSimpleName()).
append(" e WHERE e.schema=:schema");
- TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
+ TypedQuery<T> query = entityManager().createQuery(queryString.toString(), reference);
query.setParameter("schema", schema);
return query.getResultList();
@@ -81,7 +81,7 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
@Override
public DerSchema save(final DerSchema derSchema) {
- return entityManager.merge(derSchema);
+ return entityManager().merge(derSchema);
}
@Override
@@ -106,6 +106,6 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema, String> implements D
schema.getAnyTypeClass().remove(schema);
}
- entityManager.remove(schema);
+ entityManager().remove(schema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADomainDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADomainDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADomainDAO.java
index 37a4cd2..b3bb188 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADomainDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADomainDAO.java
@@ -30,19 +30,19 @@ public class JPADomainDAO extends AbstractDAO<Domain, String> implements DomainD
@Override
public Domain find(final String key) {
- return entityManager.find(JPADomain.class, key);
+ return entityManager().find(JPADomain.class, key);
}
@Override
public List<Domain> findAll() {
- TypedQuery<Domain> query = entityManager.createQuery(
+ TypedQuery<Domain> query = entityManager().createQuery(
"SELECT e FROM " + JPADomain.class.getSimpleName() + " e ", Domain.class);
return query.getResultList();
}
@Override
public Domain save(final Domain anyTypeClass) {
- return entityManager.merge(anyTypeClass);
+ return entityManager().merge(anyTypeClass);
}
@Override
@@ -52,6 +52,6 @@ public class JPADomainDAO extends AbstractDAO<Domain, String> implements DomainD
return;
}
- entityManager.remove(domain);
+ entityManager().remove(domain);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
index 17553a2..4a8a759 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAExternalResourceDAO.java
@@ -71,7 +71,7 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
@Override
public ExternalResource find(final String name) {
- return entityManager.find(JPAExternalResource.class, name);
+ return entityManager().find(JPAExternalResource.class, name);
}
private StringBuilder getByPolicyQuery(final PolicyType type) {
@@ -99,7 +99,7 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
@Override
public List<ExternalResource> findByPolicy(final Policy policy) {
- TypedQuery<ExternalResource> query = entityManager.createQuery(
+ TypedQuery<ExternalResource> query = entityManager().createQuery(
getByPolicyQuery(policy.getType()).append(" = :policy").toString(), ExternalResource.class);
query.setParameter("policy", policy);
return query.getResultList();
@@ -107,21 +107,21 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
@Override
public List<ExternalResource> findWithoutPolicy(final PolicyType type) {
- TypedQuery<ExternalResource> query = entityManager.createQuery(
+ TypedQuery<ExternalResource> query = entityManager().createQuery(
getByPolicyQuery(type).append(" IS NULL").toString(), ExternalResource.class);
return query.getResultList();
}
@Override
public List<ExternalResource> findAll() {
- TypedQuery<ExternalResource> query = entityManager.createQuery(
+ TypedQuery<ExternalResource> query = entityManager().createQuery(
"SELECT e FROM " + JPAExternalResource.class.getSimpleName() + " e", ExternalResource.class);
return query.getResultList();
}
@Override
public List<ExternalResource> findAllByPriority() {
- TypedQuery<ExternalResource> query = entityManager.createQuery(
+ TypedQuery<ExternalResource> query = entityManager().createQuery(
"SELECT e FROM " + JPAExternalResource.class.getSimpleName() + " e ORDER BY e.propagationPriority",
ExternalResource.class);
return query.getResultList();
@@ -138,7 +138,7 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
@Override
@Transactional(rollbackFor = { Throwable.class })
public ExternalResource save(final ExternalResource resource) {
- ExternalResource merged = entityManager.merge(resource);
+ ExternalResource merged = entityManager().merge(resource);
try {
connRegistry.registerConnector(merged);
} catch (NotFoundException e) {
@@ -154,7 +154,7 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
return;
}
- TypedQuery<MappingItem> query = entityManager.createQuery(
+ TypedQuery<MappingItem> query = entityManager().createQuery(
"SELECT m FROM " + JPAMappingItem.class.getSimpleName()
+ " m WHERE m.intAttrName=:intAttrName AND m.intMappingType=:intMappingType", MappingItem.class);
query.setParameter("intAttrName", intAttrName);
@@ -165,18 +165,18 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
itemKeys.add(item.getKey());
}
for (Long itemKey : itemKeys) {
- MappingItem item = entityManager.find(JPAMappingItem.class, itemKey);
+ MappingItem item = entityManager().find(JPAMappingItem.class, itemKey);
if (item != null) {
item.getMapping().remove(item);
item.setMapping(null);
- entityManager.remove(item);
+ entityManager().remove(item);
}
}
// Make empty query cache for *MappingItem and related *Mapping
- entityManager.getEntityManagerFactory().getCache().evict(JPAMappingItem.class);
- entityManager.getEntityManagerFactory().getCache().evict(JPAMapping.class);
+ entityManager().getEntityManagerFactory().getCache().evict(JPAMappingItem.class);
+ entityManager().getEntityManagerFactory().getCache().evict(JPAMapping.class);
}
@Override
@@ -219,6 +219,6 @@ public class JPAExternalResourceDAO extends AbstractDAO<ExternalResource, String
provision.setResource(null);
}
- entityManager.remove(resource);
+ entityManager().remove(resource);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
index 22ce79e..368ea07 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
@@ -88,7 +88,7 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
@Override
public Group find(final String name) {
- TypedQuery<Group> query = entityManager.createQuery(
+ TypedQuery<Group> query = entityManager().createQuery(
"SELECT e FROM " + JPAGroup.class.getSimpleName() + " e WHERE e.name = :name", Group.class);
query.setParameter("name", name);
@@ -116,7 +116,7 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
queryString.append("OR e.groupOwner.id=").append(groupKey).append(' ');
}
- TypedQuery<Group> query = entityManager.createQuery(queryString.toString(), Group.class);
+ TypedQuery<Group> query = entityManager().createQuery(queryString.toString(), Group.class);
query.setParameter("owner", owner);
return query.getResultList();
@@ -133,7 +133,7 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
StringBuilder queryString = new StringBuilder("SELECT e FROM ").append(JPAGroup.class.getSimpleName()).
append(" e WHERE e.groupOwner=:owner ");
- TypedQuery<Group> query = entityManager.createQuery(queryString.toString(), Group.class);
+ TypedQuery<Group> query = entityManager().createQuery(queryString.toString(), Group.class);
query.setParameter("owner", owner);
return query.getResultList();
@@ -141,7 +141,7 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
@Override
public List<AMembership> findAMemberships(final Group group) {
- TypedQuery<AMembership> query = entityManager.createQuery(
+ TypedQuery<AMembership> query = entityManager().createQuery(
"SELECT e FROM " + JPAAMembership.class.getSimpleName()
+ " e WHERE e.rightEnd=:group", AMembership.class);
query.setParameter("group", group);
@@ -151,7 +151,7 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
@Override
public List<UMembership> findUMemberships(final Group group) {
- TypedQuery<UMembership> query = entityManager.createQuery(
+ TypedQuery<UMembership> query = entityManager().createQuery(
"SELECT e FROM " + JPAUMembership.class.getSimpleName()
+ " e WHERE e.rightEnd=:group", UMembership.class);
query.setParameter("group", group);
@@ -190,16 +190,16 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
membership.getLeftEnd().remove(membership);
anyObjectDAO.save(membership.getLeftEnd());
- entityManager.remove(membership);
+ entityManager().remove(membership);
}
for (UMembership membership : findUMemberships(group)) {
membership.getLeftEnd().remove(membership);
userDAO.save(membership.getLeftEnd());
- entityManager.remove(membership);
+ entityManager().remove(membership);
}
- entityManager.remove(group);
+ entityManager().remove(group);
}
private void populateTransitiveResources(
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPALoggerDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPALoggerDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPALoggerDAO.java
index 327149f..9189e2a 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPALoggerDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPALoggerDAO.java
@@ -32,12 +32,12 @@ public class JPALoggerDAO extends AbstractDAO<Logger, String> implements LoggerD
@Override
public Logger find(final String key) {
- return entityManager.find(JPALogger.class, key);
+ return entityManager().find(JPALogger.class, key);
}
@Override
public List<Logger> findAll(final LoggerType type) {
- TypedQuery<Logger> query = entityManager.createQuery(
+ TypedQuery<Logger> query = entityManager().createQuery(
"SELECT e FROM " + JPALogger.class.getSimpleName() + " e WHERE e.type=:type", Logger.class);
query.setParameter("type", type);
return query.getResultList();
@@ -49,12 +49,12 @@ public class JPALoggerDAO extends AbstractDAO<Logger, String> implements LoggerD
if (LoggerType.AUDIT == logger.getType() && LoggerLevel.OFF != logger.getLevel()) {
logger.setLevel(LoggerLevel.DEBUG);
}
- return entityManager.merge(logger);
+ return entityManager().merge(logger);
}
@Override
public void delete(final Logger logger) {
- entityManager.remove(logger);
+ entityManager().remove(logger);
}
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPANotificationDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPANotificationDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPANotificationDAO.java
index b3b4b01..a43cf22 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPANotificationDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPANotificationDAO.java
@@ -30,23 +30,23 @@ public class JPANotificationDAO extends AbstractDAO<Notification, Long> implemen
@Override
public Notification find(final Long key) {
- return entityManager.find(JPANotification.class, key);
+ return entityManager().find(JPANotification.class, key);
}
@Override
public List<Notification> findAll() {
- TypedQuery<Notification> query = entityManager.createQuery(
+ TypedQuery<Notification> query = entityManager().createQuery(
"SELECT e FROM " + JPANotification.class.getSimpleName() + " e", Notification.class);
return query.getResultList();
}
@Override
public Notification save(final Notification notification) {
- return entityManager.merge(notification);
+ return entityManager().merge(notification);
}
@Override
public void delete(final Long key) {
- entityManager.remove(find(key));
+ entityManager().remove(find(key));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrDAO.java
index 5e232fd..d21d1f3 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrDAO.java
@@ -51,7 +51,7 @@ public class JPAPlainAttrDAO extends AbstractDAO<PlainAttr<?>, Long> implements
@Override
public <T extends PlainAttr<?>> T find(final Long key, final Class<T> reference) {
- return reference.cast(entityManager.find(getJPAEntityReference(reference), key));
+ return reference.cast(entityManager().find(getJPAEntityReference(reference), key));
}
@Override
@@ -71,6 +71,6 @@ public class JPAPlainAttrDAO extends AbstractDAO<PlainAttr<?>, Long> implements
((Any<T, ?, ?>) plainAttr.getOwner()).remove(plainAttr);
}
- entityManager.remove(plainAttr);
+ entityManager().remove(plainAttr);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrValueDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrValueDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrValueDAO.java
index 655decd..be2965c 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrValueDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainAttrValueDAO.java
@@ -68,19 +68,19 @@ public class JPAPlainAttrValueDAO extends AbstractDAO<PlainAttrValue, Long> impl
@Override
public <T extends PlainAttrValue> T find(final Long key, final Class<T> reference) {
- return reference.cast(entityManager.find(getJPAEntityReference(reference), key));
+ return reference.cast(entityManager().find(getJPAEntityReference(reference), key));
}
@Override
public <T extends PlainAttrValue> List<T> findAll(final Class<T> reference) {
- TypedQuery<T> query = entityManager.createQuery(
+ TypedQuery<T> query = entityManager().createQuery(
"SELECT e FROM " + getJPAEntityReference(reference).getSimpleName() + " e", reference);
return query.getResultList();
}
@Override
public <T extends PlainAttrValue> T save(final T attributeValue) {
- return entityManager.merge(attributeValue);
+ return entityManager().merge(attributeValue);
}
@Override
@@ -99,6 +99,6 @@ public class JPAPlainAttrValueDAO extends AbstractDAO<PlainAttrValue, Long> impl
attrValue.getAttr().remove(attrValue);
}
- entityManager.remove(attrValue);
+ entityManager().remove(attrValue);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
index c3c94ce..47e8fe3 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
@@ -45,7 +45,7 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
@Override
public PlainSchema find(final String key) {
- return entityManager.find(JPAPlainSchema.class, key);
+ return entityManager().find(JPAPlainSchema.class, key);
}
@Override
@@ -54,7 +54,7 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
append(JPAPlainSchema.class.getSimpleName()).
append(" e WHERE e.anyTypeClass=:anyTypeClass");
- TypedQuery<PlainSchema> query = entityManager.createQuery(queryString.toString(), PlainSchema.class);
+ TypedQuery<PlainSchema> query = entityManager().createQuery(queryString.toString(), PlainSchema.class);
query.setParameter("anyTypeClass", anyTypeClass);
return query.getResultList();
@@ -62,7 +62,7 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
@Override
public List<PlainSchema> findAll() {
- TypedQuery<PlainSchema> query = entityManager.createQuery(
+ TypedQuery<PlainSchema> query = entityManager().createQuery(
"SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e", PlainSchema.class);
return query.getResultList();
}
@@ -73,7 +73,7 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
append(((JPAPlainAttrDAO) plainAttrDAO).getJPAEntityReference(reference).getSimpleName()).
append(" e WHERE e.schema=:schema");
- TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
+ TypedQuery<T> query = entityManager().createQuery(queryString.toString(), reference);
query.setParameter("schema", schema);
return query.getResultList();
@@ -81,7 +81,7 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
@Override
public PlainSchema save(final PlainSchema schema) {
- return entityManager.merge(schema);
+ return entityManager().merge(schema);
}
@Override
@@ -106,6 +106,6 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema, String> implemen
schema.getAnyTypeClass().remove(schema);
}
- entityManager.remove(schema);
+ entityManager().remove(schema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPolicyDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPolicyDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPolicyDAO.java
index 176cfbd..ab0a8c5 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPolicyDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPolicyDAO.java
@@ -43,7 +43,7 @@ public class JPAPolicyDAO extends AbstractDAO<Policy, Long> implements PolicyDAO
@Override
@SuppressWarnings("unchecked")
public <T extends Policy> T find(final Long key) {
- final Query query = entityManager.createQuery(
+ final Query query = entityManager().createQuery(
"SELECT e FROM " + JPAPolicy.class.getSimpleName() + " e WHERE e.id=:id");
query.setParameter("id", key);
@@ -56,7 +56,7 @@ public class JPAPolicyDAO extends AbstractDAO<Policy, Long> implements PolicyDAO
@Override
@SuppressWarnings("unchecked")
public <T extends Policy> List<T> find(final PolicyType type) {
- final Query query = entityManager.createQuery(
+ final Query query = entityManager().createQuery(
"SELECT e FROM " + JPAPolicy.class.getSimpleName() + " e WHERE e.type=:type");
query.setParameter("type", type);
@@ -65,7 +65,7 @@ public class JPAPolicyDAO extends AbstractDAO<Policy, Long> implements PolicyDAO
@Override
public List<AccountPolicy> findByResource(final ExternalResource resource) {
- TypedQuery<AccountPolicy> query = entityManager.createQuery(
+ TypedQuery<AccountPolicy> query = entityManager().createQuery(
"SELECT e FROM " + JPAAccountPolicy.class.getSimpleName() + " e "
+ "WHERE :resource MEMBER OF e.resources", AccountPolicy.class);
query.setParameter("resource", resource);
@@ -75,14 +75,14 @@ public class JPAPolicyDAO extends AbstractDAO<Policy, Long> implements PolicyDAO
@Override
public List<Policy> findAll() {
- TypedQuery<Policy> query = entityManager.createQuery(
+ TypedQuery<Policy> query = entityManager().createQuery(
"SELECT e FROM " + JPAPolicy.class.getSimpleName() + " e", Policy.class);
return query.getResultList();
}
@Override
public <T extends Policy> T save(final T policy) {
- return entityManager.merge(policy);
+ return entityManager().merge(policy);
}
@Override
@@ -95,6 +95,6 @@ public class JPAPolicyDAO extends AbstractDAO<Policy, Long> implements PolicyDAO
}
}
- entityManager.remove(policy);
+ entityManager().remove(policy);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
index f5625ee..36ce550 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
@@ -50,7 +50,7 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
@Override
public Realm getRoot() {
- TypedQuery<Realm> query = entityManager.createQuery(
+ TypedQuery<Realm> query = entityManager().createQuery(
"SELECT e FROM " + JPARealm.class.getSimpleName() + " e WHERE e.parent IS NULL", Realm.class);
Realm result = null;
@@ -65,7 +65,7 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
@Override
public Realm find(final Long key) {
- return entityManager.find(JPARealm.class, key);
+ return entityManager().find(JPARealm.class, key);
}
@Override
@@ -126,7 +126,7 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
append(JPARealm.class.getSimpleName()).append(" e WHERE e.").
append(policy instanceof AccountPolicy ? "accountPolicy" : "passwordPolicy").append("=:policy");
- TypedQuery<Realm> query = entityManager.createQuery(queryString.toString(), Realm.class);
+ TypedQuery<Realm> query = entityManager().createQuery(queryString.toString(), Realm.class);
query.setParameter("policy", policy);
List<Realm> result = new ArrayList<>();
@@ -154,7 +154,7 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
@Override
public List<Realm> findChildren(final Realm realm) {
- TypedQuery<Realm> query = entityManager.createQuery(
+ TypedQuery<Realm> query = entityManager().createQuery(
"SELECT e FROM " + JPARealm.class.getSimpleName() + " e WHERE e.parent=:realm", Realm.class);
query.setParameter("realm", realm);
@@ -180,14 +180,14 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
@Override
public List<Realm> findAll() {
- TypedQuery<Realm> query = entityManager.createQuery(
+ TypedQuery<Realm> query = entityManager().createQuery(
"SELECT e FROM " + JPARealm.class.getSimpleName() + " e ", Realm.class);
return query.getResultList();
}
@Override
public Realm save(final Realm realm) {
- return entityManager.merge(realm);
+ return entityManager().merge(realm);
}
@Override
@@ -199,7 +199,7 @@ public class JPARealmDAO extends AbstractDAO<Realm, Long> implements RealmDAO {
toBeDeleted.setParent(null);
- entityManager.remove(toBeDeleted);
+ entityManager().remove(toBeDeleted);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARelationshipTypeDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARelationshipTypeDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARelationshipTypeDAO.java
index 37ce107..5eb3951 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARelationshipTypeDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARelationshipTypeDAO.java
@@ -39,27 +39,27 @@ public class JPARelationshipTypeDAO extends AbstractDAO<RelationshipType, String
@Override
public RelationshipType find(final String key) {
- return entityManager.find(JPARelationshipType.class, key);
+ return entityManager().find(JPARelationshipType.class, key);
}
@Override
public List<RelationshipType> findAll() {
- TypedQuery<RelationshipType> query = entityManager.createQuery(
+ TypedQuery<RelationshipType> query = entityManager().createQuery(
"SELECT e FROM " + JPARelationshipType.class.getSimpleName() + " e ", RelationshipType.class);
return query.getResultList();
}
@Override
public RelationshipType save(final RelationshipType anyType) {
- return entityManager.merge(anyType);
+ return entityManager().merge(anyType);
}
private Collection<? extends Relationship<?, ?>> findRelationshipsByType(final RelationshipType type) {
- TypedQuery<ARelationship> aquery = entityManager.createQuery(
+ TypedQuery<ARelationship> aquery = entityManager().createQuery(
"SELECT e FROM " + JPAARelationship.class.getSimpleName() + " e WHERE e.type=:type",
ARelationship.class);
aquery.setParameter("type", type);
- TypedQuery<URelationship> uquery = entityManager.createQuery(
+ TypedQuery<URelationship> uquery = entityManager().createQuery(
"SELECT e FROM " + JPAURelationship.class.getSimpleName() + " e WHERE e.type=:type",
URelationship.class);
uquery.setParameter("type", type);
@@ -86,10 +86,10 @@ public class JPARelationshipTypeDAO extends AbstractDAO<RelationshipType, String
}
relationship.setLeftEnd(null);
- entityManager.remove(relationship);
+ entityManager().remove(relationship);
}
- entityManager.remove(type);
+ entityManager().remove(type);
}
}