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 2013/01/22 14:33:25 UTC
svn commit: r1436910 [2/3] - in /syncope/trunk: client/
common/src/main/java/org/apache/syncope/common/services/
common/src/main/java/org/apache/syncope/common/to/
common/src/main/java/org/apache/syncope/common/types/
common/src/main/java/org/apache/sy...
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ContentLoader.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ContentLoader.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ContentLoader.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ContentLoader.java Tue Jan 22 13:33:22 2013
@@ -18,18 +18,16 @@
*/
package org.apache.syncope.core.persistence.dao.impl;
-import java.io.Closeable;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
-
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.persistence.beans.SyncopeConf;
import org.apache.syncope.core.util.ImportExport;
import org.slf4j.Logger;
@@ -40,13 +38,17 @@ import org.springframework.stereotype.Co
import org.springframework.transaction.annotation.Transactional;
/**
- * Initialize Database with default content if no data is present already
+ * Initialize Database with default content if no data is present already.
*/
@Component
public class ContentLoader {
+
private static final String VIEWS_FILE = "/views.xml";
+
private static final String INDEXES_FILE = "/indexes.xml";
+
private static final String CONTENT_FILE = "/content.xml";
+
private static final String ACTIVITY_CONTENT_FILE = "/activiticontent.xml";
private static final Logger LOG = LoggerFactory.getLogger(ContentLoader.class);
@@ -58,56 +60,74 @@ public class ContentLoader {
private ImportExport importExport;
@Transactional
- public void load(boolean activitiEnabledForUsers) {
- Connection conn = DataSourceUtils.getConnection(dataSource);
-
- boolean existingData = isDataPresent(conn);
- if (existingData) {
- LOG.info("Data found in the database, leaving untouched");
- closeConnection(conn);
- return;
- }
-
- LOG.info("Empty database found, loading default content");
+ public void load(final boolean activitiEnabledForUsers) {
+ Connection conn = null;
+ try {
+ conn = DataSourceUtils.getConnection(dataSource);
- createViews(conn);
- createIndexes(conn);
- if (activitiEnabledForUsers) {
- deleteActivitiProperties(conn);
- }
- closeConnection(conn);
- loadDefaultContent(CONTENT_FILE);
- if (activitiEnabledForUsers) {
- loadDefaultContent(ACTIVITY_CONTENT_FILE);
+ boolean existingData = isDataPresent(conn);
+ if (existingData) {
+ LOG.info("Data found in the database, leaving untouched");
+ } else {
+ LOG.info("Empty database found, loading default content");
+
+ createViews(conn);
+ createIndexes(conn);
+ if (activitiEnabledForUsers) {
+ deleteActivitiProperties(conn);
+ }
+ loadDefaultContent(CONTENT_FILE);
+ if (activitiEnabledForUsers) {
+ loadDefaultContent(ACTIVITY_CONTENT_FILE);
+ }
+ }
+ } finally {
+ DataSourceUtils.releaseConnection(conn, dataSource);
+ if (conn != null) {
+ try {
+ if (!conn.isClosed()) {
+ conn.close();
+ }
+ } catch (SQLException e) {
+ LOG.error("While releasing connection", e);
+ }
+ }
}
}
- private boolean isDataPresent(Connection conn) {
- ResultSet resultSet = null;
+ private boolean isDataPresent(final Connection conn) {
PreparedStatement statement = null;
+ ResultSet rs = null;
try {
final String queryContent = "SELECT * FROM " + SyncopeConf.class.getSimpleName();
statement = conn.prepareStatement(
queryContent, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
- resultSet = statement.executeQuery();
- resultSet.last();
- return resultSet.getRow() > 0;
+ rs = statement.executeQuery();
+ rs.last();
+ return rs.getRow() > 0;
} catch (SQLException e) {
LOG.error("Could not access to table " + SyncopeConf.class.getSimpleName(), e);
return true;
} finally {
- closeResultSet(resultSet);
+ if (rs != null) {
+ try {
+ rs.close();
+ } catch (SQLException e) {
+ LOG.error("While closing tables result set", e);
+ }
+ }
+
closeStatement(statement);
}
}
- private void createViews(Connection conn) {
+ private void createViews(final Connection conn) {
LOG.debug("Creating views");
+ InputStream viewsStream = null;
try {
- InputStream viewsStream = getClass().getResourceAsStream(VIEWS_FILE);
+ viewsStream = getClass().getResourceAsStream(VIEWS_FILE);
Properties views = new Properties();
views.loadFromXML(viewsStream);
- close(viewsStream);
for (String idx : views.stringPropertyNames()) {
LOG.debug("Creating view {}", views.get(idx).toString());
@@ -128,20 +148,26 @@ public class ContentLoader {
LOG.debug("Views created, go for indexes");
} catch (Exception e) {
LOG.error("While creating views", e);
+ } finally {
+ if (viewsStream != null) {
+ IOUtils.closeQuietly(viewsStream);
+ }
}
}
- private void createIndexes(Connection conn) {
+ private void createIndexes(final Connection conn) {
LOG.debug("Creating indexes");
- InputStream indexesStream = getClass().getResourceAsStream(INDEXES_FILE);
+ InputStream indexesStream = null;
Properties indexes = new Properties();
try {
+ indexesStream = getClass().getResourceAsStream(INDEXES_FILE);
indexes.loadFromXML(indexesStream);
} catch (Exception e) {
throw new RuntimeException("Error loading properties from stream", e);
+ } finally {
+ IOUtils.closeQuietly(indexesStream);
}
- close(indexesStream);
for (String idx : indexes.stringPropertyNames()) {
LOG.debug("Creating index {}", indexes.get(idx).toString());
@@ -158,7 +184,7 @@ public class ContentLoader {
}
}
- private void deleteActivitiProperties(Connection conn) {
+ private void deleteActivitiProperties(final Connection conn) {
PreparedStatement statement = null;
try {
statement = conn.prepareStatement("DELETE FROM ACT_GE_PROPERTY");
@@ -170,28 +196,25 @@ public class ContentLoader {
}
}
- private void loadDefaultContent(String contentPath) {
+ private void loadDefaultContent(final String contentPath) {
SAXParserFactory factory = SAXParserFactory.newInstance();
+ InputStream in = null;
try {
+ in = getClass().getResourceAsStream(contentPath);
+
SAXParser parser = factory.newSAXParser();
- parser.parse(getClass().getResourceAsStream(contentPath), importExport);
+ parser.parse(in, importExport);
LOG.debug("Default content successfully loaded");
} catch (Exception e) {
LOG.error("While loading default content", e);
- }
- }
-
- private void closeResultSet(ResultSet resultSet) {
- try {
- if (resultSet != null) {
- resultSet.close();
+ } finally {
+ if (in != null) {
+ IOUtils.closeQuietly(in);
}
- } catch (SQLException e) {
- LOG.error("While closing SQL result set", e);
}
}
- private void closeStatement(PreparedStatement statement) {
+ private void closeStatement(final PreparedStatement statement) {
if (statement != null) {
try {
statement.close();
@@ -200,24 +223,4 @@ public class ContentLoader {
}
}
}
-
- private void closeConnection(Connection conn) {
- try {
- conn.close();
- } catch (SQLException e) {
- LOG.error("Error closing SQL connection", e);
- } finally {
- DataSourceUtils.releaseConnection(conn, dataSource);
- }
- }
-
- private void close(Closeable closeable) {
- if (closeable != null) {
- try {
- closeable.close();
- } catch (Throwable t) {
- LOG.error("Error closing closeable", t);
- }
- }
- }
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerAttrDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerAttrDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerAttrDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerAttrDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.AbstractDerAttr;
import org.apache.syncope.core.persistence.dao.DerAttrDAO;
import org.springframework.stereotype.Repository;
@@ -31,26 +29,23 @@ public class DerAttrDAOImpl extends Abst
@Override
public <T extends AbstractDerAttr> T find(final Long id, final Class<T> reference) {
-
return entityManager.find(reference, id);
}
@Override
public <T extends AbstractDerAttr> List<T> findAll(final Class<T> reference) {
-
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e");
+ TypedQuery<T> query = entityManager.createQuery(
+ "SELECT e FROM " + reference.getSimpleName() + " e", reference);
return query.getResultList();
}
@Override
public <T extends AbstractDerAttr> T save(final T derivedAttribute) {
-
return entityManager.merge(derivedAttribute);
}
@Override
public <T extends AbstractDerAttr> void delete(final Long id, final Class<T> reference) {
-
T derivedAttribute = find(id, reference);
if (derivedAttribute == null) {
return;
@@ -61,7 +56,6 @@ public class DerAttrDAOImpl extends Abst
@Override
public <T extends AbstractDerAttr> void delete(final T derivedAttribute) {
-
if (derivedAttribute.getOwner() != null) {
derivedAttribute.getOwner().removeDerivedAttribute(derivedAttribute);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerSchemaDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerSchemaDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerSchemaDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/DerSchemaDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,9 +21,7 @@ package org.apache.syncope.core.persiste
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.AbstractDerAttr;
import org.apache.syncope.core.persistence.beans.AbstractDerSchema;
import org.apache.syncope.core.persistence.beans.user.UMappingItem;
@@ -45,14 +43,12 @@ public class DerSchemaDAOImpl extends Ab
@Override
public <T extends AbstractDerSchema> T find(final String name, final Class<T> reference) {
-
return entityManager.find(reference, name);
}
@Override
public <T extends AbstractDerSchema> List<T> findAll(final Class<T> reference) {
-
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e", reference);
return query.getResultList();
}
@@ -72,7 +68,7 @@ public class DerSchemaDAOImpl extends Ab
final Set<Long> derivedAttributeIds = new HashSet<Long>(attributes.size());
- Class attributeClass = null;
+ Class<? extends AbstractDerAttr> attributeClass = null;
for (AbstractDerAttr attribute : attributes) {
derivedAttributeIds.add(attribute.getId());
attributeClass = attribute.getClass();
@@ -91,9 +87,8 @@ public class DerSchemaDAOImpl extends Ab
public <T extends AbstractDerAttr> List<T> getAttributes(final AbstractDerSchema derivedSchema,
final Class<T> reference) {
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
- + " WHERE e.derivedSchema=:schema");
-
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
+ + " WHERE e.derivedSchema=:schema", reference);
query.setParameter("schema", derivedSchema);
return query.getResultList();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/EntitlementDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/EntitlementDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/EntitlementDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/EntitlementDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.Entitlement;
import org.apache.syncope.core.persistence.beans.role.SyncopeRole;
import org.apache.syncope.core.persistence.dao.EntitlementDAO;
@@ -43,7 +41,7 @@ public class EntitlementDAOImpl extends
@Override
public List<Entitlement> findAll() {
- Query query = entityManager.createQuery("SELECT e FROM Entitlement e");
+ TypedQuery<Entitlement> query = entityManager.createQuery("SELECT e FROM Entitlement e", Entitlement.class);
return query.getResultList();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/LoggerDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/LoggerDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/LoggerDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/LoggerDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.common.types.SyncopeLoggerLevel;
import org.apache.syncope.common.types.SyncopeLoggerType;
import org.apache.syncope.core.persistence.beans.SyncopeLogger;
@@ -38,8 +36,8 @@ public class LoggerDAOImpl extends Abstr
@Override
public List<SyncopeLogger> findAll(final SyncopeLoggerType type) {
- Query query = entityManager.createQuery("SELECT e FROM " + SyncopeLogger.class.getSimpleName() + " e "
- + "WHERE e.type=:type");
+ TypedQuery<SyncopeLogger> query = entityManager.createQuery(
+ "SELECT e FROM " + SyncopeLogger.class.getSimpleName() + " e WHERE e.type=:type", SyncopeLogger.class);
query.setParameter("type", type);
return query.getResultList();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/MembershipDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/MembershipDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/MembershipDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/MembershipDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,10 +19,9 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
import javax.persistence.NoResultException;
import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.membership.Membership;
import org.apache.syncope.core.persistence.beans.role.SyncopeRole;
import org.apache.syncope.core.persistence.beans.user.SyncopeUser;
@@ -68,7 +67,7 @@ public class MembershipDAOImpl extends A
@Override
public List<Membership> findAll() {
- Query query = entityManager.createQuery("SELECT e FROM Membership e");
+ TypedQuery<Membership> query = entityManager.createQuery("SELECT e FROM Membership e", Membership.class);
return query.getResultList();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/NotificationDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/NotificationDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/NotificationDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/NotificationDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.Notification;
import org.apache.syncope.core.persistence.dao.NotificationDAO;
import org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
@@ -37,13 +35,13 @@ public class NotificationDAOImpl extends
@Override
public List<Notification> findAll() {
- Query query = entityManager.createQuery("SELECT e " + "FROM " + Notification.class.getSimpleName() + " e");
+ TypedQuery<Notification> query = entityManager.createQuery(
+ "SELECT e " + "FROM " + Notification.class.getSimpleName() + " e", Notification.class);
return query.getResultList();
}
@Override
public Notification save(final Notification notification) throws InvalidEntityException {
-
return entityManager.merge(notification);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/PolicyDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/PolicyDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/PolicyDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/PolicyDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.common.types.PolicyType;
import org.apache.syncope.core.persistence.beans.AccountPolicy;
import org.apache.syncope.core.persistence.beans.PasswordPolicy;
@@ -40,7 +38,8 @@ public class PolicyDAOImpl extends Abstr
@Override
public List<? extends Policy> find(final PolicyType type) {
- final Query query = entityManager.createQuery("SELECT e FROM Policy e WHERE e.type=:type");
+ final TypedQuery<Policy> query = entityManager.createQuery("SELECT e FROM Policy e WHERE e.type=:type",
+ Policy.class);
query.setParameter("type", type);
return query.getResultList();
@@ -72,12 +71,12 @@ public class PolicyDAOImpl extends Abstr
@Override
public List<Policy> findAll() {
- Query query = entityManager.createQuery("SELECT e FROM Policy e");
+ TypedQuery<Policy> query = entityManager.createQuery("SELECT e FROM Policy e", Policy.class);
return query.getResultList();
}
@Override
- public Policy save(final Policy policy) {
+ public <T extends Policy> T save(final T policy) {
return entityManager.merge(policy);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,6 +21,7 @@ package org.apache.syncope.core.persiste
import java.util.List;
import javax.persistence.Query;
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.Report;
import org.apache.syncope.core.persistence.dao.ReportDAO;
@@ -44,7 +45,8 @@ public class ReportDAOImpl extends Abstr
@Override
public List<Report> findAll(final int page, final int itemsPerPage) {
- final Query query = entityManager.createQuery("SELECT e FROM " + Report.class.getSimpleName() + " e");
+ final TypedQuery<Report> query = entityManager.createQuery(
+ "SELECT e FROM " + Report.class.getSimpleName() + " e", Report.class);
query.setFirstResult(itemsPerPage * (page <= 0
? 0
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportExecDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportExecDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportExecDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ReportExecDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.Report;
import org.apache.syncope.core.persistence.beans.ReportExec;
import org.apache.syncope.core.persistence.dao.ReportExecDAO;
@@ -38,9 +36,9 @@ public class ReportExecDAOImpl extends A
}
private ReportExec findLatest(final Report report, final String field) {
-
- Query query = entityManager.createQuery("SELECT e " + "FROM " + ReportExec.class.getSimpleName() + " e "
- + "WHERE e.report=:report " + "ORDER BY e." + field + " DESC");
+ TypedQuery<ReportExec> query = entityManager.createQuery(
+ "SELECT e " + "FROM " + ReportExec.class.getSimpleName() + " e "
+ + "WHERE e.report=:report " + "ORDER BY e." + field + " DESC", ReportExec.class);
query.setParameter("report", report);
query.setMaxResults(1);
@@ -62,7 +60,8 @@ public class ReportExecDAOImpl extends A
@Override
public List<ReportExec> findAll() {
- Query query = entityManager.createQuery("SELECT e FROM " + ReportExec.class.getSimpleName() + " e");
+ TypedQuery<ReportExec> query = entityManager.createQuery(
+ "SELECT e FROM " + ReportExec.class.getSimpleName() + " e", ReportExec.class);
return query.getResultList();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ResourceDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ResourceDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ResourceDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ResourceDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,12 +21,10 @@ package org.apache.syncope.core.persiste
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
import javax.persistence.NoResultException;
-import javax.persistence.Query;
import javax.persistence.TypedQuery;
-
import org.apache.syncope.common.types.IntMappingType;
+import org.apache.syncope.core.persistence.beans.AbstractMapping;
import org.apache.syncope.core.persistence.beans.AbstractMappingItem;
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.persistence.beans.PropagationTask;
@@ -68,6 +66,7 @@ public class ResourceDAOImpl extends Abs
try {
result = query.getSingleResult();
} catch (NoResultException e) {
+ LOG.error("No resource found with name {}", name, e);
}
return result;
@@ -75,14 +74,17 @@ public class ResourceDAOImpl extends Abs
@Override
public List<ExternalResource> findAll() {
- Query query = entityManager.createQuery("SELECT e " + "FROM " + ExternalResource.class.getSimpleName() + " e");
+ TypedQuery<ExternalResource> query =
+ entityManager.createQuery("SELECT e " + "FROM " + ExternalResource.class.getSimpleName() + " e",
+ ExternalResource.class);
return query.getResultList();
}
@Override
public List<ExternalResource> findAllByPriority() {
- Query query = entityManager.createQuery("SELECT e " + "FROM " + ExternalResource.class.getSimpleName() + " e "
- + "ORDER BY e.propagationPriority");
+ TypedQuery<ExternalResource> query =
+ entityManager.createQuery("SELECT e " + "FROM " + ExternalResource.class.getSimpleName() + " e "
+ + "ORDER BY e.propagationPriority", ExternalResource.class);
return query.getResultList();
}
@@ -114,16 +116,16 @@ public class ResourceDAOImpl extends Abs
return;
}
- Query query = entityManager.createQuery("SELECT m FROM " + reference.getSimpleName()
- + " m WHERE m.intAttrName=:intAttrName AND m.intMappingType=:intMappingType");
+ TypedQuery<T> query = entityManager.createQuery("SELECT m FROM " + reference.getSimpleName()
+ + " m WHERE m.intAttrName=:intAttrName AND m.intMappingType=:intMappingType", reference);
query.setParameter("intAttrName", intAttrName);
query.setParameter("intMappingType", intMappingType);
Set<Long> itemIds = new HashSet<Long>();
- for (T item : (List<T>) query.getResultList()) {
+ for (T item : query.getResultList()) {
itemIds.add(item.getId());
}
- Class mappingRef = null;
+ Class<? extends AbstractMapping> mappingRef = null;
for (Long itemId : itemIds) {
T item = entityManager.find(reference, itemId);
if (item != null) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/RoleDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/RoleDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/RoleDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/RoleDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -20,12 +20,10 @@ package org.apache.syncope.core.persiste
import java.util.ArrayList;
import java.util.List;
-
import javax.persistence.NoResultException;
-import javax.persistence.Query;
import javax.persistence.TypedQuery;
-
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.core.persistence.beans.AbstractAttributable;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.beans.Entitlement;
import org.apache.syncope.core.persistence.beans.ExternalResource;
@@ -51,6 +49,12 @@ public class RoleDAOImpl extends Abstrac
@Autowired
private EntitlementDAO entitlementDAO;
+ @SuppressWarnings("unchecked")
+ @Override
+ protected <T extends AbstractAttributable> T findInternal(final Long id) {
+ return (T) find(id);
+ }
+
@Override
public SyncopeRole find(final Long id) {
TypedQuery<SyncopeRole> query = entityManager.createQuery("SELECT e FROM SyncopeRole e WHERE e.id = :id",
@@ -61,6 +65,7 @@ public class RoleDAOImpl extends Abstrac
try {
result = query.getSingleResult();
} catch (NoResultException e) {
+ LOG.error("No role found with id {}", id, e);
}
return result;
@@ -68,7 +73,8 @@ public class RoleDAOImpl extends Abstrac
@Override
public List<SyncopeRole> find(final String name) {
- Query query = entityManager.createQuery("SELECT e FROM SyncopeRole e WHERE e.name = :name");
+ TypedQuery<SyncopeRole> query =
+ entityManager.createQuery("SELECT e FROM SyncopeRole e WHERE e.name = :name", SyncopeRole.class);
query.setParameter("name", name);
return query.getResultList();
@@ -76,14 +82,14 @@ public class RoleDAOImpl extends Abstrac
@Override
public SyncopeRole find(final String name, final Long parentId) {
- Query query;
- if (parentId != null) {
+ TypedQuery<SyncopeRole> query;
+ if (parentId == null) {
query = entityManager.createQuery("SELECT r FROM SyncopeRole r WHERE "
- + "r.name=:name AND r.parent.id=:parentId");
- query.setParameter("parentId", parentId);
+ + "r.name=:name AND r.parent IS NULL", SyncopeRole.class);
} else {
query = entityManager.createQuery("SELECT r FROM SyncopeRole r WHERE "
- + "r.name=:name AND r.parent IS NULL");
+ + "r.name=:name AND r.parent.id=:parentId", SyncopeRole.class);
+ query.setParameter("parentId", parentId);
}
query.setParameter("name", name);
@@ -116,11 +122,11 @@ public class RoleDAOImpl extends Abstrac
queryString.append("OR e.roleOwner.id=").append(roleId).append(' ');
}
- Query query = entityManager.createQuery(queryString.toString());
+ TypedQuery<SyncopeRole> query = entityManager.createQuery(queryString.toString(), SyncopeRole.class);
query.setParameter("owner", owner);
List<SyncopeRole> result = new ArrayList<SyncopeRole>();
- for (SyncopeRole role : (List<SyncopeRole>) query.getResultList()) {
+ for (SyncopeRole role : query.getResultList()) {
findSameOwnerDescendants(result, role);
}
@@ -129,8 +135,9 @@ public class RoleDAOImpl extends Abstrac
@Override
public List<SyncopeRole> findByEntitlement(final Entitlement entitlement) {
- Query query = entityManager.createQuery("SELECT e FROM " + SyncopeRole.class.getSimpleName() + " e "
- + "WHERE :entitlement MEMBER OF e.entitlements");
+ TypedQuery<SyncopeRole> query =
+ entityManager.createQuery("SELECT e FROM " + SyncopeRole.class.getSimpleName() + " e "
+ + "WHERE :entitlement MEMBER OF e.entitlements", SyncopeRole.class);
query.setParameter("entitlement", entitlement);
return query.getResultList();
@@ -152,8 +159,10 @@ public class RoleDAOImpl extends Abstrac
@Override
public List<SyncopeRole> findChildren(final SyncopeRole role) {
- Query query = entityManager.createQuery("SELECT r FROM SyncopeRole r WHERE " + "r.parent=:role");
+ TypedQuery<SyncopeRole> query =
+ entityManager.createQuery("SELECT r FROM SyncopeRole r WHERE " + "r.parent=:role", SyncopeRole.class);
query.setParameter("role", role);
+
return query.getResultList();
}
@@ -199,14 +208,15 @@ public class RoleDAOImpl extends Abstrac
@Override
public List<SyncopeRole> findAll() {
- Query query = entityManager.createQuery("SELECT e FROM SyncopeRole e");
+ TypedQuery<SyncopeRole> query = entityManager.createQuery("SELECT e FROM SyncopeRole e", SyncopeRole.class);
return query.getResultList();
}
@Override
public List<Membership> findMemberships(final SyncopeRole role) {
- Query query = entityManager.createQuery("SELECT e FROM " + Membership.class.getSimpleName() + " e"
- + " WHERE e.syncopeRole=:role");
+ TypedQuery<Membership> query =
+ entityManager.createQuery("SELECT e FROM " + Membership.class.getSimpleName() + " e"
+ + " WHERE e.syncopeRole=:role", Membership.class);
query.setParameter("role", role);
return query.getResultList();
@@ -257,7 +267,7 @@ public class RoleDAOImpl extends Abstrac
@Override
public void delete(final Long id) {
- SyncopeRole role = find(id);
+ SyncopeRole role = findInternal(id);
if (role == null) {
return;
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SchemaDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SchemaDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SchemaDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SchemaDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,9 +21,7 @@ package org.apache.syncope.core.persiste
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.AbstractAttr;
import org.apache.syncope.core.persistence.beans.AbstractSchema;
import org.apache.syncope.core.persistence.beans.user.UMappingItem;
@@ -51,17 +49,15 @@ public class SchemaDAOImpl extends Abstr
@Override
public <T extends AbstractSchema> List<T> findAll(final Class<T> reference) {
-
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e", reference);
return query.getResultList();
}
@Override
public <T extends AbstractAttr> List<T> getAttributes(final AbstractSchema schema, final Class<T> reference) {
-
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
- + " WHERE e.schema=:schema");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
+ + " WHERE e.schema=:schema", reference);
query.setParameter("schema", schema);
return query.getResultList();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -20,9 +20,8 @@ package org.apache.syncope.core.persiste
import java.util.ArrayList;
import java.util.List;
-
import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.persistence.beans.NotificationTask;
import org.apache.syncope.core.persistence.beans.SchedTask;
@@ -35,8 +34,9 @@ import org.springframework.transaction.a
@Repository
public class TaskDAOImpl extends AbstractDAOImpl implements TaskDAO {
- @Override
@Transactional(readOnly = true)
+ @SuppressWarnings("unchecked")
+ @Override
public <T extends Task> T find(final Long id) {
return (T) entityManager.find(Task.class, id);
}
@@ -68,13 +68,12 @@ public class TaskDAOImpl extends Abstrac
}
queryString.append("ORDER BY e.id DESC");
- final Query query = entityManager.createQuery(queryString.toString());
+ final TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
return query.getResultList();
}
@Override
public <T extends Task> List<T> findAll(final ExternalResource resource, final Class<T> reference) {
-
StringBuilder queryString = buildfindAllQuery(reference);
if (SchedTask.class.equals(reference)) {
@@ -86,7 +85,7 @@ public class TaskDAOImpl extends Abstrac
queryString.append("e.resource=:resource ");
queryString.append("ORDER BY e.id DESC");
- final Query query = entityManager.createQuery(queryString.toString());
+ final TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
query.setParameter("resource", resource);
return query.getResultList();
@@ -99,11 +98,10 @@ public class TaskDAOImpl extends Abstrac
@Override
public <T extends Task> List<T> findAll(final int page, final int itemsPerPage, final Class<T> reference) {
-
StringBuilder queryString = buildfindAllQuery(reference);
queryString.append("ORDER BY e.id DESC");
- final Query query = entityManager.createQuery(queryString.toString());
+ final TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
query.setFirstResult(itemsPerPage * (page <= 0
? 0
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.SchedTask;
import org.apache.syncope.core.persistence.beans.SyncTask;
import org.apache.syncope.core.persistence.beans.Task;
@@ -45,9 +43,9 @@ public class TaskExecDAOImpl extends Abs
}
private <T extends Task> TaskExec findLatest(final T task, final String field) {
-
- Query query = entityManager.createQuery("SELECT e " + "FROM " + TaskExec.class.getSimpleName() + " e "
- + "WHERE e.task=:task " + "ORDER BY e." + field + " DESC");
+ TypedQuery<TaskExec> query = entityManager.createQuery("SELECT e " + "FROM " + TaskExec.class.getSimpleName()
+ + " e "
+ + "WHERE e.task=:task " + "ORDER BY e." + field + " DESC", TaskExec.class);
query.setParameter("task", task);
query.setMaxResults(1);
@@ -68,7 +66,7 @@ public class TaskExecDAOImpl extends Abs
}
@Override
- public <T extends Task> List<TaskExec> findAll(Class<T> reference) {
+ public <T extends Task> List<TaskExec> findAll(final Class<T> reference) {
StringBuilder queryString = new StringBuilder("SELECT e FROM ").append(TaskExec.class.getSimpleName()).append(
" e WHERE e.task IN (").append("SELECT t FROM ").append(reference.getSimpleName()).append(" t");
if (SchedTask.class.equals(reference)) {
@@ -77,7 +75,7 @@ public class TaskExecDAOImpl extends Abs
}
queryString.append(')');
- Query query = entityManager.createQuery(queryString.toString());
+ TypedQuery<TaskExec> query = entityManager.createQuery(queryString.toString(), TaskExec.class);
return query.getResultList();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,12 +21,11 @@ package org.apache.syncope.core.persiste
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-
import javax.persistence.NoResultException;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
-
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.core.persistence.beans.AbstractAttributable;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.beans.ExternalResource;
import org.apache.syncope.core.persistence.beans.membership.Membership;
@@ -45,6 +44,12 @@ public class UserDAOImpl extends Abstrac
@Autowired
private RoleDAO roleDAO;
+ @SuppressWarnings("unchecked")
+ @Override
+ protected <T extends AbstractAttributable> T findInternal(final Long id) {
+ return (T) find(id);
+ }
+
@Override
public SyncopeUser find(final Long id) {
TypedQuery<SyncopeUser> query = entityManager.createQuery("SELECT e FROM " + SyncopeUser.class.getSimpleName()
@@ -53,8 +58,9 @@ public class UserDAOImpl extends Abstrac
SyncopeUser result = null;
try {
- return query.getSingleResult();
+ result = query.getSingleResult();
} catch (NoResultException e) {
+ LOG.error("No user found with id {}", id, e);
}
return result;
@@ -68,8 +74,9 @@ public class UserDAOImpl extends Abstrac
SyncopeUser result = null;
try {
- return query.getSingleResult();
+ result = query.getSingleResult();
} catch (NoResultException e) {
+ LOG.error("No user found with username {}", username, e);
}
return result;
@@ -142,6 +149,7 @@ public class UserDAOImpl extends Abstrac
return findAll(adminRoles, -1, -1);
}
+ @SuppressWarnings("unchecked")
@Override
public final List<SyncopeUser> findAll(final Set<Long> adminRoles, final int page, final int itemsPerPage) {
final Query query = entityManager.createNativeQuery(getFindAllQuery(adminRoles).toString());
@@ -155,7 +163,7 @@ public class UserDAOImpl extends Abstrac
}
List<Number> userIds = new ArrayList<Number>();
- List resultList = query.getResultList();
+ List<Object> resultList = query.getResultList();
//fix for HHH-5902 - bug hibernate
if (resultList != null) {
@@ -172,7 +180,7 @@ public class UserDAOImpl extends Abstrac
SyncopeUser user;
for (Object userId : userIds) {
- user = find(((Number) userId).longValue());
+ user = findInternal(((Number) userId).longValue());
if (user == null) {
LOG.error("Could not find user with id {}, " + "even though returned by the native query", userId);
} else {
@@ -206,7 +214,7 @@ public class UserDAOImpl extends Abstrac
@Override
public void delete(final Long id) {
- SyncopeUser user = find(id);
+ SyncopeUser user = findInternal(id);
if (user == null) {
return;
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserRequestDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserRequestDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserRequestDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/UserRequestDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.UserRequest;
import org.apache.syncope.core.persistence.dao.UserRequestDAO;
import org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
@@ -29,7 +27,7 @@ import org.springframework.stereotype.Re
import org.springframework.transaction.annotation.Transactional;
@Repository
-@Transactional(noRollbackFor = { Throwable.class })
+@Transactional(noRollbackFor = {Throwable.class})
public class UserRequestDAOImpl extends AbstractDAOImpl implements UserRequestDAO {
@Override
@@ -41,18 +39,18 @@ public class UserRequestDAOImpl extends
@Override
@Transactional(readOnly = true)
public List<UserRequest> findAll() {
- Query query = entityManager.createQuery("SELECT e " + "FROM " + UserRequest.class.getSimpleName() + " e");
+ TypedQuery<UserRequest> query = entityManager.createQuery(
+ "SELECT e " + "FROM " + UserRequest.class.getSimpleName() + " e", UserRequest.class);
return query.getResultList();
}
@Override
- public UserRequest save(UserRequest userRequest) throws InvalidEntityException {
-
+ public UserRequest save(final UserRequest userRequest) throws InvalidEntityException {
return entityManager.merge(userRequest);
}
@Override
- public void delete(Long id) {
+ public void delete(final Long id) {
entityManager.remove(find(id));
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirAttrDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirAttrDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirAttrDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirAttrDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -19,9 +19,7 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.List;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.dao.VirAttrDAO;
import org.springframework.stereotype.Repository;
@@ -37,20 +35,17 @@ public class VirAttrDAOImpl extends Abst
@Override
public <T extends AbstractVirAttr> List<T> findAll(final Class<T> reference) {
-
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e", reference);
return query.getResultList();
}
@Override
public <T extends AbstractVirAttr> T save(final T virtualAttribute) {
-
return entityManager.merge(virtualAttribute);
}
@Override
public <T extends AbstractVirAttr> void delete(final Long id, final Class<T> reference) {
-
T virtualAttribute = find(id, reference);
if (virtualAttribute == null) {
return;
@@ -61,7 +56,6 @@ public class VirAttrDAOImpl extends Abst
@Override
public <T extends AbstractVirAttr> void delete(final T virtualAttribute) {
-
if (virtualAttribute.getOwner() != null) {
virtualAttribute.getOwner().removeVirtualAttribute(virtualAttribute);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirSchemaDAOImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirSchemaDAOImpl.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirSchemaDAOImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/VirSchemaDAOImpl.java Tue Jan 22 13:33:22 2013
@@ -21,9 +21,7 @@ package org.apache.syncope.core.persiste
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.beans.AbstractVirSchema;
import org.apache.syncope.core.persistence.beans.user.UMappingItem;
@@ -50,7 +48,7 @@ public class VirSchemaDAOImpl extends Ab
@Override
public <T extends AbstractVirSchema> List<T> findAll(final Class<T> reference) {
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e", reference);
return query.getResultList();
}
@@ -71,7 +69,7 @@ public class VirSchemaDAOImpl extends Ab
final Set<Long> virAttrIds = new HashSet<Long>(attributes.size());
- Class attributeClass = null;
+ Class<? extends AbstractVirAttr> attributeClass = null;
for (AbstractVirAttr attribute : attributes) {
virAttrIds.add(attribute.getId());
@@ -91,8 +89,8 @@ public class VirSchemaDAOImpl extends Ab
public <T extends AbstractVirAttr> List<T> getAttributes(final AbstractVirSchema virtualSchema,
final Class<T> reference) {
- Query query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
- + " WHERE e.virtualSchema=:schema");
+ TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
+ + " WHERE e.virtualSchema=:schema", reference);
query.setParameter("schema", virtualSchema);
return query.getResultList();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/openjpa/JBossPersistenceMappingFactory.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/openjpa/JBossPersistenceMappingFactory.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/openjpa/JBossPersistenceMappingFactory.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/openjpa/JBossPersistenceMappingFactory.java Tue Jan 22 13:33:22 2013
@@ -36,7 +36,6 @@ import java.util.Map;
import java.util.Set;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
-
import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.conf.OpenJPAConfigurationImpl;
import org.apache.openjpa.lib.meta.ClassArgParser;
@@ -56,6 +55,7 @@ import org.apache.openjpa.persistence.jd
/**
* Temporary class used while issue OPENJPA-2229 gets fixed and reaches mainstream distribution.
*/
+@SuppressWarnings("unchecked")
public class JBossPersistenceMappingFactory extends PersistenceMappingFactory {
private static final Localizer _loc = Localizer.forPackage(PersistenceMetaDataFactory.class);
@@ -93,7 +93,7 @@ public class JBossPersistenceMappingFact
@Override
protected Set<String> parsePersistentTypeNames(ClassLoader loader)
throws IOException {
-
+
ClassArgParser cparser = newClassArgParser();
String[] clss;
Set<String> names = new HashSet<String>();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/policy/PolicyEvaluator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/policy/PolicyEvaluator.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/policy/PolicyEvaluator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/policy/PolicyEvaluator.java Tue Jan 22 13:33:22 2013
@@ -19,7 +19,6 @@
package org.apache.syncope.core.policy;
import java.util.List;
-
import org.apache.syncope.common.types.AbstractPolicySpec;
import org.apache.syncope.common.types.AccountPolicySpec;
import org.apache.syncope.common.types.PasswordPolicySpec;
@@ -38,72 +37,70 @@ public class PolicyEvaluator {
/**
* Logger.
*/
- protected static final Logger LOG = LoggerFactory.getLogger(PolicyEvaluator.class);
+ private static final Logger LOG = LoggerFactory.getLogger(PolicyEvaluator.class);
+ @SuppressWarnings("unchecked")
public <T extends AbstractPolicySpec> T evaluate(final Policy policy, final AbstractAttributable attributable) {
+ if (policy == null) {
+ return null;
+ }
T result = null;
-
- if (policy != null) {
- AbstractAttr attribute;
- List<String> values;
-
- switch (policy.getType()) {
- case PASSWORD:
- case GLOBAL_PASSWORD:
- final PasswordPolicySpec ppSpec = policy.getSpecification();
- final PasswordPolicySpec evaluatedPPSpec = new PasswordPolicySpec();
-
- BeanUtils.copyProperties(ppSpec, evaluatedPPSpec, new String[]{"schemasNotPermitted"});
-
- for (String schema : ppSpec.getSchemasNotPermitted()) {
- attribute = attributable.getAttribute(schema);
- if (attribute != null) {
- values = attribute.getValuesAsStrings();
- if (values != null && !values.isEmpty()) {
- evaluatedPPSpec.getWordsNotPermitted().add(values.get(0));
- }
+ switch (policy.getType()) {
+ case PASSWORD:
+ case GLOBAL_PASSWORD:
+ final PasswordPolicySpec ppSpec = policy.getSpecification();
+ final PasswordPolicySpec evaluatedPPSpec = new PasswordPolicySpec();
+
+ BeanUtils.copyProperties(ppSpec, evaluatedPPSpec, new String[]{"schemasNotPermitted"});
+
+ for (String schema : ppSpec.getSchemasNotPermitted()) {
+ AbstractAttr attribute = attributable.getAttribute(schema);
+ if (attribute != null) {
+ List<String> values = attribute.getValuesAsStrings();
+ if (values != null && !values.isEmpty()) {
+ evaluatedPPSpec.getWordsNotPermitted().add(values.get(0));
}
}
+ }
- // Password history verification and update
+ // Password history verification and update
- if (!(attributable instanceof SyncopeUser)) {
- LOG.error("Cannot check previous passwords. attributable is not a user object: {}",
- attributable.getClass().getName());
- result = (T) evaluatedPPSpec;
- break;
- }
- SyncopeUser user = (SyncopeUser) attributable;
- if (user.verifyPasswordHistory(user.getClearPassword(), ppSpec.getHistoryLength())) {
- evaluatedPPSpec.getWordsNotPermitted().add(user.getClearPassword());
- }
+ if (!(attributable instanceof SyncopeUser)) {
+ LOG.error("Cannot check previous passwords. attributable is not a user object: {}",
+ attributable.getClass().getName());
result = (T) evaluatedPPSpec;
break;
- case ACCOUNT:
- case GLOBAL_ACCOUNT:
- final AccountPolicySpec spec = policy.getSpecification();
- final AccountPolicySpec accountPolicy = new AccountPolicySpec();
-
- BeanUtils.copyProperties(spec, accountPolicy, new String[]{"schemasNotPermitted"});
-
- for (String schema : spec.getSchemasNotPermitted()) {
- attribute = attributable.getAttribute(schema);
- if (attribute != null) {
- values = attribute.getValuesAsStrings();
- if (values != null && !values.isEmpty()) {
- accountPolicy.getWordsNotPermitted().add(values.get(0));
- }
+ }
+ SyncopeUser user = (SyncopeUser) attributable;
+ if (user.verifyPasswordHistory(user.getClearPassword(), ppSpec.getHistoryLength())) {
+ evaluatedPPSpec.getWordsNotPermitted().add(user.getClearPassword());
+ }
+ result = (T) evaluatedPPSpec;
+ break;
+ case ACCOUNT:
+ case GLOBAL_ACCOUNT:
+ final AccountPolicySpec spec = policy.getSpecification();
+ final AccountPolicySpec accountPolicy = new AccountPolicySpec();
+
+ BeanUtils.copyProperties(spec, accountPolicy, new String[]{"schemasNotPermitted"});
+
+ for (String schema : spec.getSchemasNotPermitted()) {
+ AbstractAttr attribute = attributable.getAttribute(schema);
+ if (attribute != null) {
+ List<String> values = attribute.getValuesAsStrings();
+ if (values != null && !values.isEmpty()) {
+ accountPolicy.getWordsNotPermitted().add(values.get(0));
}
}
+ }
- result = (T) accountPolicy;
- break;
- case SYNC:
- case GLOBAL_SYNC:
- default:
- result = null;
- }
+ result = (T) accountPolicy;
+ break;
+ case SYNC:
+ case GLOBAL_SYNC:
+ default:
+ result = null;
}
return result;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/ConnectorFacadeProxy.java Tue Jan 22 13:33:22 2013
@@ -25,7 +25,6 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-
import org.apache.syncope.common.types.ConnConfProperty;
import org.apache.syncope.common.types.ConnectorCapability;
import org.apache.syncope.common.types.PropagationMode;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/PropagationManager.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/PropagationManager.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/PropagationManager.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/PropagationManager.java Tue Jan 22 13:33:22 2013
@@ -179,7 +179,7 @@ public class PropagationManager {
final PropagationByResource propByRes, final Set<String> syncResourceNames) {
if (propByRes == null || propByRes.isEmpty()) {
- return Collections.EMPTY_LIST;
+ return Collections.<PropagationTask>emptyList();
}
if (syncResourceNames != null) {
@@ -318,9 +318,9 @@ public class PropagationManager {
? userDataBinder : roleDataBinder;
PropagationByResource localPropByRes = binder.fillVirtual(attributable, vAttrsToBeRemoved == null
- ? Collections.EMPTY_SET
+ ? Collections.<String>emptySet()
: vAttrsToBeRemoved, vAttrsToBeUpdated == null
- ? Collections.EMPTY_SET
+ ? Collections.<AttributeMod>emptySet()
: vAttrsToBeUpdated, AttributableUtil.getInstance(attributable));
if (propByRes == null || propByRes.isEmpty()) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/report/ReportJob.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/report/ReportJob.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/report/ReportJob.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/report/ReportJob.java Tue Jan 22 13:33:22 2013
@@ -30,13 +30,11 @@ import java.util.Date;
import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
-
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
-
import org.apache.syncope.common.report.ReportletConf;
import org.apache.syncope.common.types.ReportExecStatus;
import org.apache.syncope.core.persistence.beans.Report;
@@ -58,6 +56,7 @@ import org.xml.sax.helpers.AttributesImp
/**
* Quartz job for executing a given report.
*/
+@SuppressWarnings("unchecked")
@DisallowConcurrentExecution
public class ReportJob implements Job {
@@ -98,6 +97,7 @@ public class ReportJob implements Job {
this.reportId = reportId;
}
+ @SuppressWarnings("rawtypes")
@Override
public void execute(final JobExecutionContext context) throws JobExecutionException {
Report report = reportDAO.find(reportId);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/DerivedSchemaController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/DerivedSchemaController.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/DerivedSchemaController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/DerivedSchemaController.java Tue Jan 22 13:33:22 2013
@@ -20,9 +20,7 @@ package org.apache.syncope.core.rest.con
import java.util.ArrayList;
import java.util.List;
-
import javax.servlet.http.HttpServletResponse;
-
import org.apache.syncope.common.to.DerivedSchemaTO;
import org.apache.syncope.common.types.AuditElements.Category;
import org.apache.syncope.common.types.AuditElements.Result;
@@ -32,6 +30,7 @@ import org.apache.syncope.core.audit.Aud
import org.apache.syncope.core.persistence.beans.AbstractDerSchema;
import org.apache.syncope.core.persistence.dao.DerSchemaDAO;
import org.apache.syncope.core.rest.data.DerivedSchemaDataBinder;
+import org.apache.syncope.core.util.AttributableUtil;
import org.apache.syncope.core.util.NotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -75,26 +74,26 @@ public class DerivedSchemaController ext
public DerivedSchemaTO delete(@PathVariable("kind") final String kind,
@PathVariable("schema") final String derivedSchemaName) throws NotFoundException {
- Class reference = getAttributableUtil(kind).derSchemaClass();
+ Class<? extends AbstractDerSchema> reference = getAttributableUtil(kind).derSchemaClass();
AbstractDerSchema derivedSchema = derivedSchemaDAO.find(derivedSchemaName, reference);
if (derivedSchema == null) {
throw new NotFoundException("Derived schema '" + derivedSchemaName + "'");
}
-
+
DerivedSchemaTO schemaToDelete = derivedSchemaDataBinder.getDerivedSchemaTO(derivedSchema);
derivedSchemaDAO.delete(derivedSchemaName, getAttributableUtil(kind));
auditManager.audit(Category.schema, SchemaSubCategory.deleteDerived, Result.success,
"Successfully deleted derived schema: " + kind + "/" + derivedSchema.getName());
-
+
return schemaToDelete;
}
@RequestMapping(method = RequestMethod.GET, value = "/{kind}/list")
public List<DerivedSchemaTO> list(@PathVariable("kind") final String kind) {
- Class reference = getAttributableUtil(kind).derSchemaClass();
- List<AbstractDerSchema> derivedAttributeSchemas = derivedSchemaDAO.findAll(reference);
+ AttributableUtil attributableUtil = getAttributableUtil(kind);
+ List<AbstractDerSchema> derivedAttributeSchemas = derivedSchemaDAO.findAll(attributableUtil.derSchemaClass());
List<DerivedSchemaTO> derivedSchemaTOs = new ArrayList<DerivedSchemaTO>(derivedAttributeSchemas.size());
for (AbstractDerSchema derivedSchema : derivedAttributeSchemas) {
@@ -112,7 +111,7 @@ public class DerivedSchemaController ext
public DerivedSchemaTO read(@PathVariable("kind") final String kind,
@PathVariable("derivedSchema") final String derivedSchemaName) throws NotFoundException {
- Class reference = getAttributableUtil(kind).derSchemaClass();
+ Class<? extends AbstractDerSchema> reference = getAttributableUtil(kind).derSchemaClass();
AbstractDerSchema derivedSchema = derivedSchemaDAO.find(derivedSchemaName, reference);
if (derivedSchema == null) {
throw new NotFoundException("Derived schema '" + derivedSchemaName + "'");
@@ -129,7 +128,7 @@ public class DerivedSchemaController ext
public DerivedSchemaTO update(@RequestBody final DerivedSchemaTO derivedSchemaTO,
@PathVariable("kind") final String kind) throws NotFoundException {
- Class reference = getAttributableUtil(kind).derSchemaClass();
+ Class<? extends AbstractDerSchema> reference = getAttributableUtil(kind).derSchemaClass();
AbstractDerSchema derivedSchema = derivedSchemaDAO.find(derivedSchemaTO.getName(), reference);
if (derivedSchema == null) {
throw new NotFoundException("Derived schema '" + derivedSchemaTO.getName() + "'");
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/RoleController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/RoleController.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/RoleController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/RoleController.java Tue Jan 22 13:33:22 2013
@@ -22,9 +22,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
-
import javax.servlet.http.HttpServletResponse;
-
import org.apache.syncope.common.mod.RoleMod;
import org.apache.syncope.common.search.NodeCond;
import org.apache.syncope.common.to.PropagationTO;
@@ -133,7 +131,7 @@ public class RoleController extends Abst
Set<Long> ownedRoleIds;
SyncopeUser authUser = userDAO.find(SecurityContextHolder.getContext().getAuthentication().getName());
if (authUser == null) {
- ownedRoleIds = Collections.EMPTY_SET;
+ ownedRoleIds = Collections.<Long>emptySet();
} else {
ownedRoleIds = authUser.getRoleIds();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/SchemaController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/SchemaController.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/SchemaController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/SchemaController.java Tue Jan 22 13:33:22 2013
@@ -20,9 +20,7 @@ package org.apache.syncope.core.rest.con
import java.util.ArrayList;
import java.util.List;
-
import javax.servlet.http.HttpServletResponse;
-
import org.apache.syncope.common.to.SchemaTO;
import org.apache.syncope.common.types.AuditElements.Category;
import org.apache.syncope.common.types.AuditElements.Result;
@@ -75,7 +73,7 @@ public class SchemaController extends Ab
public SchemaTO delete(@PathVariable("kind") final String kind, @PathVariable("schema") final String schemaName)
throws NotFoundException {
- Class reference = getAttributableUtil(kind).schemaClass();
+ Class<? extends AbstractSchema> reference = getAttributableUtil(kind).schemaClass();
AbstractSchema schema = schemaDAO.find(schemaName, reference);
if (schema == null) {
throw new NotFoundException("Schema '" + schemaName + "'");
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/VirtualSchemaController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/VirtualSchemaController.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/VirtualSchemaController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/VirtualSchemaController.java Tue Jan 22 13:33:22 2013
@@ -20,9 +20,7 @@ package org.apache.syncope.core.rest.con
import java.util.ArrayList;
import java.util.List;
-
import javax.servlet.http.HttpServletResponse;
-
import org.apache.syncope.common.to.VirtualSchemaTO;
import org.apache.syncope.common.types.AuditElements.Category;
import org.apache.syncope.common.types.AuditElements.Result;
@@ -76,7 +74,7 @@ public class VirtualSchemaController ext
public VirtualSchemaTO delete(@PathVariable("kind") final String kind,
@PathVariable("schema") final String virtualSchemaName) throws NotFoundException {
- Class reference = getAttributableUtil(kind).virSchemaClass();
+ Class<? extends AbstractVirSchema> reference = getAttributableUtil(kind).virSchemaClass();
AbstractVirSchema virtualSchema = virtualSchemaDAO.find(virtualSchemaName, reference);
if (virtualSchema == null) {
throw new NotFoundException("Virtual schema '" + virtualSchemaName + "'");
@@ -92,8 +90,8 @@ public class VirtualSchemaController ext
@RequestMapping(method = RequestMethod.GET, value = "/{kind}/list")
public List<VirtualSchemaTO> list(@PathVariable("kind") final String kind) {
- Class reference = getAttributableUtil(kind).virSchemaClass();
- List<AbstractVirSchema> virtualAttributeSchemas = virtualSchemaDAO.findAll(reference);
+ Class<? extends AbstractVirSchema> reference = getAttributableUtil(kind).virSchemaClass();
+ List<? extends AbstractVirSchema> virtualAttributeSchemas = virtualSchemaDAO.findAll(reference);
List<VirtualSchemaTO> virtualSchemaTOs = new ArrayList<VirtualSchemaTO>(virtualAttributeSchemas.size());
for (AbstractVirSchema virtualSchema : virtualAttributeSchemas) {
@@ -111,7 +109,7 @@ public class VirtualSchemaController ext
public VirtualSchemaTO read(@PathVariable("kind") final String kind,
@PathVariable("virtualSchema") final String virtualSchemaName) throws NotFoundException {
- Class reference = getAttributableUtil(kind).virSchemaClass();
+ Class<? extends AbstractVirSchema> reference = getAttributableUtil(kind).virSchemaClass();
AbstractVirSchema virtualSchema = virtualSchemaDAO.find(virtualSchemaName, reference);
if (virtualSchema == null) {
throw new NotFoundException("Virtual schema '" + virtualSchemaName + "'");
@@ -128,7 +126,7 @@ public class VirtualSchemaController ext
public VirtualSchemaTO update(@RequestBody final VirtualSchemaTO virtualSchemaTO,
@PathVariable("kind") final String kind) throws SyncopeClientCompositeErrorException, NotFoundException {
- Class reference = getAttributableUtil(kind).virSchemaClass();
+ Class<? extends AbstractVirSchema> reference = getAttributableUtil(kind).virSchemaClass();
AbstractVirSchema virtualSchema = virtualSchemaDAO.find(virtualSchemaTO.getName(), reference);
if (virtualSchema == null) {
throw new NotFoundException("Virtual schema is null");
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/AbstractAttributableDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/AbstractAttributableDataBinder.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/AbstractAttributableDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/AbstractAttributableDataBinder.java Tue Jan 22 13:33:22 2013
@@ -25,9 +25,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-
import javax.validation.ValidationException;
-
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.MapContext;
import org.apache.commons.lang.StringUtils;
@@ -183,7 +181,7 @@ public abstract class AbstractAttributab
List<String> valuesProvided = schema.isMultivalue()
? values
: (values.isEmpty()
- ? Collections.EMPTY_LIST
+ ? Collections.<String>emptyList()
: Collections.singletonList(values.iterator().next()));
for (String value : valuesProvided) {
@@ -707,7 +705,8 @@ public abstract class AbstractAttributab
protected void fillTO(final AbstractAttributableTO abstractAttributableTO,
final Collection<? extends AbstractAttr> attributes,
final Collection<? extends AbstractDerAttr> derivedAttributes,
- final Collection<? extends AbstractVirAttr> virtualAttributes, final Collection<ExternalResource> resources) {
+ final Collection<? extends AbstractVirAttr> virtualAttributes,
+ final Collection<ExternalResource> resources) {
AttributeTO attributeTO;
for (AbstractAttr attribute : attributes) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/PolicyDataBinder.java Tue Jan 22 13:33:22 2013
@@ -36,9 +36,11 @@ public class PolicyDataBinder {
/**
* Get policy TO from policy bean.
+ *
* @param policy bean.
* @return policy TO.
*/
+ @SuppressWarnings("unchecked")
public <T extends PolicyTO> T getPolicyTO(final Policy policy) {
final PolicyTO policyTO;
@@ -48,6 +50,8 @@ public class PolicyDataBinder {
case GLOBAL_ACCOUNT:
case GLOBAL_SYNC:
isGlobal = Boolean.TRUE;
+ break;
+
default:
}
@@ -55,7 +59,8 @@ public class PolicyDataBinder {
case GLOBAL_PASSWORD:
case PASSWORD:
if (!(policy.getSpecification() instanceof PasswordPolicySpec)) {
- throw new ClassCastException("policy is expected to be typed PasswordPolicySpec: " + policy.getSpecification().getClass().getName());
+ throw new ClassCastException("policy is expected to be typed PasswordPolicySpec: " + policy.
+ getSpecification().getClass().getName());
}
policyTO = new PasswordPolicyTO(isGlobal);
((PasswordPolicyTO) policyTO).setSpecification((PasswordPolicySpec) policy.getSpecification());
@@ -64,7 +69,8 @@ public class PolicyDataBinder {
case GLOBAL_ACCOUNT:
case ACCOUNT:
if (!(policy.getSpecification() instanceof AccountPolicySpec)) {
- throw new ClassCastException("policy is expected to be typed AccountPolicySpec: " + policy.getSpecification().getClass().getName());
+ throw new ClassCastException("policy is expected to be typed AccountPolicySpec: " + policy.
+ getSpecification().getClass().getName());
}
policyTO = new AccountPolicyTO(isGlobal);
((AccountPolicyTO) policyTO).setSpecification((AccountPolicySpec) policy.getSpecification());
@@ -74,7 +80,8 @@ public class PolicyDataBinder {
case SYNC:
default:
if (!(policy.getSpecification() instanceof SyncPolicySpec)) {
- throw new ClassCastException("policy is expected to be typed SyncPolicySpec: " + policy.getSpecification().getClass().getName());
+ throw new ClassCastException("policy is expected to be typed SyncPolicySpec: " + policy.
+ getSpecification().getClass().getName());
}
policyTO = new SyncPolicyTO(isGlobal);
((SyncPolicyTO) policyTO).setSpecification((SyncPolicySpec) policy.getSpecification());
@@ -86,18 +93,21 @@ public class PolicyDataBinder {
return (T) policyTO;
}
+ @SuppressWarnings("unchecked")
public <T extends Policy> T getPolicy(T policy, final PolicyTO policyTO) {
-
if (policy != null && policy.getType() != policyTO.getType()) {
- throw new IllegalArgumentException(String.format("Cannot update %s from %s", policy.getType(), policyTO.getType()));
+ throw new IllegalArgumentException(String.format("Cannot update %s from %s", policy.getType(), policyTO.
+ getType()));
}
-
+
boolean isGlobal = Boolean.FALSE;
switch (policyTO.getType()) {
case GLOBAL_PASSWORD:
case GLOBAL_ACCOUNT:
case GLOBAL_SYNC:
isGlobal = Boolean.TRUE;
+ break;
+
default:
}
@@ -105,7 +115,8 @@ public class PolicyDataBinder {
case GLOBAL_PASSWORD:
case PASSWORD:
if (!(policyTO instanceof PasswordPolicyTO)) {
- throw new ClassCastException("policyTO is expected to be typed PasswordPolicyTO: " + policyTO.getClass().getName());
+ throw new ClassCastException("policyTO is expected to be typed PasswordPolicyTO: " + policyTO.
+ getClass().getName());
}
if (policy == null) {
policy = (T) new PasswordPolicy(isGlobal);
@@ -116,7 +127,8 @@ public class PolicyDataBinder {
case GLOBAL_ACCOUNT:
case ACCOUNT:
if (!(policyTO instanceof AccountPolicyTO)) {
- throw new ClassCastException("policyTO is expected to be typed AccountPolicyTO: " + policyTO.getClass().getName());
+ throw new ClassCastException("policyTO is expected to be typed AccountPolicyTO: " + policyTO.
+ getClass().getName());
}
if (policy == null) {
policy = (T) new AccountPolicy(isGlobal);
@@ -128,7 +140,8 @@ public class PolicyDataBinder {
case SYNC:
default:
if (!(policyTO instanceof SyncPolicyTO)) {
- throw new ClassCastException("policyTO is expected to be typed SyncPolicyTO: " + policyTO.getClass().getName());
+ throw new ClassCastException("policyTO is expected to be typed SyncPolicyTO: "
+ + policyTO.getClass().getName());
}
if (policy == null) {
policy = (T) new SyncPolicy(isGlobal);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/ReportDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/ReportDataBinder.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/ReportDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/ReportDataBinder.java Tue Jan 22 13:33:22 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.rest.dat
import java.util.HashSet;
import java.util.Set;
-
import org.apache.syncope.common.report.ReportletConf;
import org.apache.syncope.common.to.ReportExecTO;
import org.apache.syncope.common.to.ReportTO;
@@ -64,6 +63,7 @@ public class ReportDataBinder {
@Autowired
private ImplementationClassNamesLoader classNamesLoader;
+ @SuppressWarnings("unchecked")
public Set<Class<Reportlet>> getAllReportletClasses() {
Set<Class<Reportlet>> reportletClasses = new HashSet<Class<Reportlet>>();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/RoleDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/RoleDataBinder.java?rev=1436910&r1=1436909&r2=1436910&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/RoleDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/RoleDataBinder.java Tue Jan 22 13:33:22 2013
@@ -20,7 +20,6 @@ package org.apache.syncope.core.rest.dat
import java.util.List;
import java.util.Set;
-
import org.apache.syncope.common.mod.RoleMod;
import org.apache.syncope.common.to.RoleTO;
import org.apache.syncope.common.types.AttributableType;
@@ -260,6 +259,7 @@ public class RoleDataBinder extends Abst
return propByRes;
}
+ @SuppressWarnings("unchecked")
@Transactional(readOnly = true)
public RoleTO getRoleTO(final SyncopeRole role) {
connObjectUtil.retrieveVirAttrValues(role, AttributableUtil.getInstance(AttributableType.ROLE));