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/10/10 16:38:00 UTC
svn commit: r1531003 [6/9] - in /syncope/trunk: ./
common/src/main/java/org/apache/syncope/common/
common/src/main/java/org/apache/syncope/common/mod/
common/src/main/java/org/apache/syncope/common/to/
common/src/main/java/org/apache/syncope/common/uti...
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -21,21 +21,41 @@ 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.services.InvalidSearchConditionException;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.core.persistence.beans.AbstractAttr;
+import org.apache.syncope.core.persistence.beans.AbstractAttrTemplate;
+import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
import org.apache.syncope.core.persistence.beans.AbstractAttributable;
+import org.apache.syncope.core.persistence.beans.AbstractDerAttr;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.beans.Entitlement;
import org.apache.syncope.core.persistence.beans.ExternalResource;
+import org.apache.syncope.core.persistence.beans.membership.MAttr;
+import org.apache.syncope.core.persistence.beans.membership.MAttrTemplate;
+import org.apache.syncope.core.persistence.beans.membership.MDerAttr;
+import org.apache.syncope.core.persistence.beans.membership.MDerAttrTemplate;
+import org.apache.syncope.core.persistence.beans.membership.MVirAttr;
+import org.apache.syncope.core.persistence.beans.membership.MVirAttrTemplate;
import org.apache.syncope.core.persistence.beans.membership.Membership;
+import org.apache.syncope.core.persistence.beans.role.RAttr;
+import org.apache.syncope.core.persistence.beans.role.RAttrTemplate;
import org.apache.syncope.core.persistence.beans.role.RAttrValue;
+import org.apache.syncope.core.persistence.beans.role.RDerAttr;
+import org.apache.syncope.core.persistence.beans.role.RDerAttrTemplate;
+import org.apache.syncope.core.persistence.beans.role.RVirAttr;
+import org.apache.syncope.core.persistence.beans.role.RVirAttrTemplate;
import org.apache.syncope.core.persistence.beans.role.SyncopeRole;
import org.apache.syncope.core.persistence.beans.user.SyncopeUser;
+import org.apache.syncope.core.persistence.dao.AttrDAO;
+import org.apache.syncope.core.persistence.dao.DerAttrDAO;
import org.apache.syncope.core.persistence.dao.EntitlementDAO;
import org.apache.syncope.core.persistence.dao.RoleDAO;
import org.apache.syncope.core.persistence.dao.UserDAO;
+import org.apache.syncope.core.persistence.dao.VirAttrDAO;
import org.apache.syncope.core.util.AttributableUtil;
import org.apache.syncope.core.util.EntitlementUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -48,6 +68,15 @@ public class RoleDAOImpl extends Abstrac
private UserDAO userDAO;
@Autowired
+ private AttrDAO attrDAO;
+
+ @Autowired
+ private DerAttrDAO derAttrDAO;
+
+ @Autowired
+ private VirAttrDAO virAttrDAO;
+
+ @Autowired
private EntitlementDAO entitlementDAO;
@SuppressWarnings("unchecked")
@@ -185,10 +214,15 @@ public class RoleDAOImpl extends Abstrac
}
@Override
- public List<SyncopeRole> findByDerAttrValue(final String schemaName, final String value)
- throws InvalidSearchConditionException {
-
- return findByDerAttrValue(schemaName, value, AttributableUtil.getInstance(AttributableType.ROLE));
+ protected TypedQuery<AbstractAttrValue> findByAttrValueQuery(final String entityName) {
+ return entityManager.createQuery("SELECT e FROM " + entityName + " e"
+ + " WHERE e.attribute.template.schema.name = :schemaName AND (e.stringValue IS NOT NULL"
+ + " AND e.stringValue = :stringValue)"
+ + " OR (e.booleanValue IS NOT NULL AND e.booleanValue = :booleanValue)"
+ + " OR (e.dateValue IS NOT NULL AND e.dateValue = :dateValue)"
+ + " OR (e.longValue IS NOT NULL AND e.longValue = :longValue)"
+ + " OR (e.doubleValue IS NOT NULL AND e.doubleValue = :doubleValue)",
+ AbstractAttrValue.class);
}
@Override
@@ -203,6 +237,13 @@ public class RoleDAOImpl extends Abstrac
}
@Override
+ public List<SyncopeRole> findByDerAttrValue(final String schemaName, final String value)
+ throws InvalidSearchConditionException {
+
+ return findByDerAttrValue(schemaName, value, AttributableUtil.getInstance(AttributableType.ROLE));
+ }
+
+ @Override
public List<SyncopeRole> findByResource(final ExternalResource resource) {
return findByResource(resource, SyncopeRole.class);
}
@@ -223,6 +264,25 @@ public class RoleDAOImpl extends Abstrac
return query.getResultList();
}
+ @SuppressWarnings("unchecked")
+ private List<Long> unmatched(final Long roleId,
+ final Class<?> attrClass, final Class<? extends AbstractAttrTemplate> attrTemplateClass) {
+
+ final Query query = entityManager.createNativeQuery(new StringBuilder().
+ append("SELECT ma.id ").
+ append("FROM ").append(Membership.class.getSimpleName()).append(" m, ").
+ append(attrClass.getSimpleName()).append(" ma ").
+ append("WHERE m.syncopeRole_id = ?1 ").
+ append("AND ma.owner_id = m.id ").
+ append("AND ma.template_id NOT IN (").
+ append("SELECT id ").
+ append("FROM ").append(attrTemplateClass.getSimpleName()).append(' ').
+ append("WHERE owner_id = ?1)").toString());
+ query.setParameter(1, roleId);
+
+ return query.getResultList();
+ }
+
@Override
public SyncopeRole save(final SyncopeRole role) {
// reset account policy in case of inheritance
@@ -235,9 +295,81 @@ public class RoleDAOImpl extends Abstrac
role.setPasswordPolicy(null);
}
- final SyncopeRole merged = entityManager.merge(role);
- for (AbstractVirAttr virtual : merged.getVirtualAttributes()) {
- virtual.setValues(role.getVirtualAttribute(virtual.getVirtualSchema().getName()).getValues());
+ // remove attributes without a valid template
+ List<RAttr> rToBeDeleted = new ArrayList<RAttr>();
+ for (AbstractAttr attr : role.getAttrs()) {
+ boolean found = false;
+ for (RAttrTemplate template : role.findInheritedTemplates(RAttrTemplate.class)) {
+ if (template.getSchema().equals(attr.getSchema())) {
+ found = true;
+ }
+ }
+ if (!found) {
+ rToBeDeleted.add((RAttr) attr);
+ }
+ }
+ for (RAttr attr : rToBeDeleted) {
+ LOG.debug("Removing {} from {} because no template is available for it", attr, role);
+ role.removeAttr(attr);
+ }
+
+ // remove derived attributes without a valid template
+ List<RDerAttr> rDerToBeDeleted = new ArrayList<RDerAttr>();
+ for (AbstractDerAttr attr : role.getDerAttrs()) {
+ boolean found = false;
+ for (RDerAttrTemplate template : role.findInheritedTemplates(RDerAttrTemplate.class)) {
+ if (template.getSchema().equals(attr.getSchema())) {
+ found = true;
+ }
+ }
+ if (!found) {
+ rDerToBeDeleted.add((RDerAttr) attr);
+ }
+ }
+ for (RDerAttr attr : rDerToBeDeleted) {
+ LOG.debug("Removing {} from {} because no template is available for it", attr, role);
+ role.removeDerAttr(attr);
+ }
+
+ // remove virtual attributes without a valid template
+ List<RVirAttr> rVirToBeDeleted = new ArrayList<RVirAttr>();
+ for (AbstractVirAttr attr : role.getVirAttrs()) {
+ boolean found = false;
+ for (RVirAttrTemplate template : role.findInheritedTemplates(RVirAttrTemplate.class)) {
+ if (template.getSchema().equals(attr.getSchema())) {
+ found = true;
+ }
+ }
+ if (!found) {
+ LOG.debug("Removing {} from {} because no template is available for it", attr, role);
+ rVirToBeDeleted.add((RVirAttr) attr);
+ }
+ }
+ for (RVirAttr attr : rVirToBeDeleted) {
+ role.removeVirAttr(attr);
+ }
+
+ SyncopeRole merged = entityManager.merge(role);
+
+ // Now the same process for any exising membership of the role being saved
+ if (role.getId() != null) {
+ for (Long id : unmatched(role.getId(), MAttr.class, MAttrTemplate.class)) {
+ LOG.debug("Removing MAttr[{}] because no template is available for it in {}", id, role);
+ attrDAO.delete(id, MAttr.class);
+ }
+ for (Long id : unmatched(role.getId(), MDerAttr.class, MDerAttrTemplate.class)) {
+ LOG.debug("Removing MDerAttr[{}] because no template is available for it in {}", id, role);
+ derAttrDAO.delete(id, MDerAttr.class);
+ }
+ for (Long id : unmatched(role.getId(), MVirAttr.class, MVirAttrTemplate.class)) {
+ LOG.debug("Removing MVirAttr[{}] because no template is available for it in {}", id, role);
+ virAttrDAO.delete(id, MVirAttr.class);
+ }
+ }
+
+ merged = entityManager.merge(merged);
+ for (AbstractVirAttr attr : merged.getVirAttrs()) {
+ attr.setValues(role.getVirAttr(attr.getSchema().getName()).getValues());
}
entitlementDAO.saveEntitlementRole(merged);
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -19,13 +19,17 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.persistence.TypedQuery;
+import org.apache.syncope.common.types.AttributableType;
import org.apache.syncope.core.persistence.beans.AbstractAttr;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
+import org.apache.syncope.core.persistence.beans.user.UAttr;
import org.apache.syncope.core.persistence.beans.user.UMappingItem;
import org.apache.syncope.core.persistence.dao.AttrDAO;
+import org.apache.syncope.core.persistence.dao.AttrTemplateDAO;
import org.apache.syncope.core.persistence.dao.ResourceDAO;
import org.apache.syncope.core.persistence.dao.SchemaDAO;
import org.apache.syncope.core.util.AttributableUtil;
@@ -36,53 +40,70 @@ import org.springframework.stereotype.Re
public class SchemaDAOImpl extends AbstractDAOImpl implements SchemaDAO {
@Autowired
- private AttrDAO attributeDAO;
+ private AttrDAO attrDAO;
+
+ @Autowired
+ private AttrTemplateDAO attrTemplateDAO;
@Autowired
private ResourceDAO resourceDAO;
@Override
- public <T extends AbstractSchema> T find(final String name, final Class<T> reference) {
+ public <T extends AbstractNormalSchema> T find(final String name, final Class<T> reference) {
return entityManager.find(reference, name);
}
@Override
- public <T extends AbstractSchema> List<T> findAll(final Class<T> reference) {
+ public <T extends AbstractNormalSchema> List<T> findAll(final Class<T> reference) {
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) {
- TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
- + " WHERE e.schema=:schema", reference);
+ public <T extends AbstractAttr> List<T> findAttrs(final AbstractNormalSchema schema, final Class<T> reference) {
+ final StringBuilder queryString =
+ new StringBuilder("SELECT e FROM ").append(reference.getSimpleName()).append(" e WHERE e.");
+ if (!reference.equals(UAttr.class)) {
+ queryString.append("template.");
+ }
+ queryString.append("schema=:schema");
+
+ TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
query.setParameter("schema", schema);
return query.getResultList();
}
@Override
- public <T extends AbstractSchema> T save(final T schema) {
+ public <T extends AbstractNormalSchema> T save(final T schema) {
return entityManager.merge(schema);
}
@Override
+ @SuppressWarnings("unchecked")
public void delete(final String name, final AttributableUtil attributableUtil) {
- AbstractSchema schema = find(name, attributableUtil.schemaClass());
+ AbstractNormalSchema schema = find(name, attributableUtil.schemaClass());
if (schema == null) {
return;
}
- List<? extends AbstractAttr> attributes = getAttributes(schema, attributableUtil.attrClass());
-
- Set<Long> attributeIds = new HashSet<Long>(attributes.size());
- for (AbstractAttr attribute : attributes) {
- attributeIds.add(attribute.getId());
+ final Set<Long> attrIds = new HashSet<Long>();
+ for (AbstractAttr attr : findAttrs(schema, attributableUtil.attrClass())) {
+ attrIds.add(attr.getId());
+ }
+ for (Long attrId : attrIds) {
+ attrDAO.delete(attrId, attributableUtil.attrClass());
}
- for (Long attributeId : attributeIds) {
- attributeDAO.delete(attributeId, attributableUtil.attrClass());
+
+ if (attributableUtil.getType() != AttributableType.USER) {
+ for (Iterator<Number> it = attrTemplateDAO.
+ findBySchemaName(schema.getName(), attributableUtil.attrTemplateClass()).iterator();
+ it.hasNext();) {
+
+ attrTemplateDAO.delete(it.next().longValue(), attributableUtil.attrTemplateClass());
+ }
}
resourceDAO.deleteMapping(name, attributableUtil.intMappingType(), UMappingItem.class);
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -27,6 +27,7 @@ import javax.persistence.TypedQuery;
import org.apache.syncope.common.services.InvalidSearchConditionException;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
import org.apache.syncope.core.persistence.beans.AbstractAttributable;
import org.apache.syncope.core.persistence.beans.AbstractVirAttr;
import org.apache.syncope.core.persistence.beans.ExternalResource;
@@ -100,10 +101,15 @@ public class UserDAOImpl extends Abstrac
}
@Override
- public List<SyncopeUser> findByDerAttrValue(final String schemaName, final String value)
- throws InvalidSearchConditionException {
-
- return findByDerAttrValue(schemaName, value, AttributableUtil.getInstance(AttributableType.USER));
+ protected TypedQuery<AbstractAttrValue> findByAttrValueQuery(final String entityName) {
+ 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)"
+ + " OR (e.dateValue IS NOT NULL AND e.dateValue = :dateValue)"
+ + " OR (e.longValue IS NOT NULL AND e.longValue = :longValue)"
+ + " OR (e.doubleValue IS NOT NULL AND e.doubleValue = :doubleValue)",
+ AbstractAttrValue.class);
}
@Override
@@ -118,6 +124,13 @@ public class UserDAOImpl extends Abstrac
}
@Override
+ public List<SyncopeUser> findByDerAttrValue(final String schemaName, final String value)
+ throws InvalidSearchConditionException {
+
+ return findByDerAttrValue(schemaName, value, AttributableUtil.getInstance(AttributableType.USER));
+ }
+
+ @Override
public List<SyncopeUser> findByResource(final ExternalResource resource) {
return findByResource(resource, SyncopeUser.class);
}
@@ -212,8 +225,8 @@ public class UserDAOImpl extends Abstrac
@Override
public SyncopeUser save(final SyncopeUser user) {
final SyncopeUser merged = entityManager.merge(user);
- for (AbstractVirAttr virtual : merged.getVirtualAttributes()) {
- virtual.setValues(user.getVirtualAttribute(virtual.getVirtualSchema().getName()).getValues());
+ for (AbstractVirAttr virtual : merged.getVirAttrs()) {
+ virtual.setValues(user.getVirAttr(virtual.getSchema().getName()).getValues());
}
return merged;
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -40,26 +40,26 @@ public class VirAttrDAOImpl extends Abst
}
@Override
- public <T extends AbstractVirAttr> T save(final T virtualAttribute) {
- return entityManager.merge(virtualAttribute);
+ public <T extends AbstractVirAttr> T save(final T virAttr) {
+ return entityManager.merge(virAttr);
}
@Override
public <T extends AbstractVirAttr> void delete(final Long id, final Class<T> reference) {
- T virtualAttribute = find(id, reference);
- if (virtualAttribute == null) {
+ T virAttr = find(id, reference);
+ if (virAttr == null) {
return;
}
- delete(virtualAttribute);
+ delete(virAttr);
}
@Override
- public <T extends AbstractVirAttr> void delete(final T virtualAttribute) {
- if (virtualAttribute.getOwner() != null) {
- virtualAttribute.getOwner().removeVirtualAttribute(virtualAttribute);
+ public <T extends AbstractVirAttr> void delete(final T virAttr) {
+ if (virAttr.getOwner() != null) {
+ virAttr.getOwner().removeVirAttr(virAttr);
}
- entityManager.remove(virtualAttribute);
+ entityManager.remove(virAttr);
}
}
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -19,12 +19,16 @@
package org.apache.syncope.core.persistence.dao.impl;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.persistence.TypedQuery;
+import org.apache.syncope.common.types.AttributableType;
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;
+import org.apache.syncope.core.persistence.beans.user.UVirAttr;
+import org.apache.syncope.core.persistence.dao.AttrTemplateDAO;
import org.apache.syncope.core.persistence.dao.ResourceDAO;
import org.apache.syncope.core.persistence.dao.VirAttrDAO;
import org.apache.syncope.core.persistence.dao.VirSchemaDAO;
@@ -36,7 +40,10 @@ import org.springframework.stereotype.Re
public class VirSchemaDAOImpl extends AbstractDAOImpl implements VirSchemaDAO {
@Autowired
- private VirAttrDAO virtualAttributeDAO;
+ private VirAttrDAO virAttrDAO;
+
+ @Autowired
+ private AttrTemplateDAO attrTemplateDAO;
@Autowired
private ResourceDAO resourceDAO;
@@ -53,46 +60,56 @@ public class VirSchemaDAOImpl extends Ab
}
@Override
- public <T extends AbstractVirSchema> T save(final T virtualSchema) {
- return entityManager.merge(virtualSchema);
- }
-
- @Override
- public void delete(final String name, final AttributableUtil attributableUtil) {
- final AbstractVirSchema virtualSchema = find(name, attributableUtil.virSchemaClass());
+ public <T extends AbstractVirAttr> List<T> findAttrs(
+ final AbstractVirSchema schema, final Class<T> reference) {
- if (virtualSchema == null) {
- return;
+ final StringBuilder queryString =
+ new StringBuilder("SELECT e FROM ").append(reference.getSimpleName()).append(" e WHERE e.");
+ if (reference.equals(UVirAttr.class)) {
+ queryString.append("virSchema");
+ } else {
+ queryString.append("template.schema");
}
+ queryString.append("=:schema");
- List<? extends AbstractVirAttr> attributes = getAttributes(virtualSchema, attributableUtil.virAttrClass());
+ TypedQuery<T> query = entityManager.createQuery(queryString.toString(), reference);
+ query.setParameter("schema", schema);
- final Set<Long> virAttrIds = new HashSet<Long>(attributes.size());
+ return query.getResultList();
+ }
- Class<? extends AbstractVirAttr> attributeClass = null;
+ @Override
+ public <T extends AbstractVirSchema> T save(final T virSchema) {
+ return entityManager.merge(virSchema);
+ }
- for (AbstractVirAttr attribute : attributes) {
- virAttrIds.add(attribute.getId());
- attributeClass = attribute.getClass();
+ @Override
+ @SuppressWarnings("unchecked")
+ public void delete(final String name, final AttributableUtil attributableUtil) {
+ final AbstractVirSchema schema = find(name, attributableUtil.virSchemaClass());
+ if (schema == null) {
+ return;
}
- for (Long virtualAttributeId : virAttrIds) {
- virtualAttributeDAO.delete(virtualAttributeId, attributeClass);
+ final Set<Long> attrIds = new HashSet<Long>();
+ for (AbstractVirAttr attr : findAttrs(schema, attributableUtil.virAttrClass())) {
+ attrIds.add(attr.getId());
+ }
+ for (Long attrId : attrIds) {
+ virAttrDAO.delete(attrId, attributableUtil.virAttrClass());
}
- resourceDAO.deleteMapping(name, attributableUtil.virIntMappingType(), UMappingItem.class);
+ if (attributableUtil.getType() != AttributableType.USER) {
+ for (Iterator<Number> it = attrTemplateDAO.
+ findBySchemaName(schema.getName(), attributableUtil.virAttrTemplateClass()).iterator();
+ it.hasNext();) {
- entityManager.remove(virtualSchema);
- }
-
- @Override
- public <T extends AbstractVirAttr> List<T> getAttributes(final AbstractVirSchema virtualSchema,
- final Class<T> reference) {
+ attrTemplateDAO.delete(it.next().longValue(), attributableUtil.virAttrTemplateClass());
+ }
+ }
- TypedQuery<T> query = entityManager.createQuery("SELECT e FROM " + reference.getSimpleName() + " e"
- + " WHERE e.virtualSchema=:schema", reference);
- query.setParameter("schema", virtualSchema);
+ resourceDAO.deleteMapping(name, attributableUtil.virIntMappingType(), UMappingItem.class);
- return query.getResultList();
+ entityManager.remove(schema);
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AbstractValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AbstractValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AbstractValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AbstractValidator.java Thu Oct 10 14:37:56 2013
@@ -21,7 +21,7 @@ package org.apache.syncope.core.persiste
import java.io.Serializable;
import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,9 +34,9 @@ public abstract class AbstractValidator
*/
protected static final Logger LOG = LoggerFactory.getLogger(AbstractValidator.class);
- protected final AbstractSchema schema;
+ protected final AbstractNormalSchema schema;
- public AbstractValidator(final AbstractSchema schema) {
+ public AbstractValidator(final AbstractNormalSchema schema) {
this.schema = schema;
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AlwaysTrueValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AlwaysTrueValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AlwaysTrueValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/AlwaysTrueValidator.java Thu Oct 10 14:37:56 2013
@@ -19,13 +19,13 @@
package org.apache.syncope.core.persistence.validation.attrvalue;
import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
public class AlwaysTrueValidator extends AbstractValidator {
private static final long serialVersionUID = 872107345555773183L;
- public AlwaysTrueValidator(final AbstractSchema schema) {
+ public AlwaysTrueValidator(final AbstractNormalSchema schema) {
super(schema);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/BasicValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/BasicValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/BasicValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/BasicValidator.java Thu Oct 10 14:37:56 2013
@@ -19,22 +19,23 @@
package org.apache.syncope.core.persistence.validation.attrvalue;
import java.util.Arrays;
+import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.types.AttributeSchemaType;
import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
public class BasicValidator extends AbstractValidator {
private static final long serialVersionUID = -2606728447694223607L;
- public BasicValidator(final AbstractSchema schema) {
+ public BasicValidator(final AbstractNormalSchema schema) {
super(schema);
}
@Override
protected void doValidate(final AbstractAttrValue attributeValue) throws InvalidAttrValueException {
if (AttributeSchemaType.Enum.equals(schema.getType())) {
- final String[] enumeration = schema.getEnumerationValues().split(AbstractSchema.enumValuesSeparator);
+ final String[] enumeration = schema.getEnumerationValues().split(SyncopeConstants.ENUM_VALUES_SEPARATOR);
final String value = attributeValue.getStringValue();
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/attrvalue/EmailAddressValidator.java Thu Oct 10 14:37:56 2013
@@ -22,7 +22,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
public class EmailAddressValidator extends AbstractValidator {
@@ -33,7 +33,7 @@ public class EmailAddressValidator exten
+ "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$",
Pattern.CASE_INSENSITIVE);
- public EmailAddressValidator(final AbstractSchema schema) {
+ public EmailAddressValidator(final AbstractNormalSchema schema) {
super(schema);
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/AttrValueValidator.java Thu Oct 10 14:37:56 2013
@@ -22,7 +22,7 @@ import javax.validation.ConstraintValida
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.core.persistence.beans.AbstractAttrUniqueValue;
import org.apache.syncope.core.persistence.beans.AbstractAttrValue;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
public class AttrValueValidator extends AbstractValidator<AttrValueCheck, AbstractAttrValue> {
@@ -60,8 +60,8 @@ public class AttrValueValidator extends
addNode(object.getClass().getSimpleName().replaceAll("\\n", " ")).addConstraintViolation();
} else if (object instanceof AbstractAttrUniqueValue) {
- AbstractSchema uniqueValueSchema = ((AbstractAttrUniqueValue) object).getSchema();
- AbstractSchema attrSchema = object.getAttribute().getSchema();
+ AbstractNormalSchema uniqueValueSchema = ((AbstractAttrUniqueValue) object).getSchema();
+ AbstractNormalSchema attrSchema = object.getAttribute().getSchema();
isValid = uniqueValueSchema.equals(attrSchema);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/validation/entity/SchemaValidator.java Thu Oct 10 14:37:56 2013
@@ -23,12 +23,12 @@ import org.apache.commons.lang3.StringUt
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.AttributeSchemaType;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
-public class SchemaValidator extends AbstractValidator<SchemaCheck, AbstractSchema> {
+public class SchemaValidator extends AbstractValidator<SchemaCheck, AbstractNormalSchema> {
@Override
- public boolean isValid(final AbstractSchema schema, final ConstraintValidatorContext context) {
+ public boolean isValid(final AbstractNormalSchema schema, final ConstraintValidatorContext context) {
boolean isValid = schema.getType() != AttributeSchemaType.Enum
|| StringUtils.isNotBlank(schema.getEnumerationValues());
if (!isValid) {
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -55,7 +55,7 @@ public class PolicyEvaluator {
BeanUtils.copyProperties(ppSpec, evaluatedPPSpec, new String[]{"schemasNotPermitted"});
for (String schema : ppSpec.getSchemasNotPermitted()) {
- AbstractAttr attribute = attributable.getAttribute(schema);
+ AbstractAttr attribute = attributable.getAttr(schema);
if (attribute != null) {
List<String> values = attribute.getValuesAsStrings();
if (values != null && !values.isEmpty()) {
@@ -86,7 +86,7 @@ public class PolicyEvaluator {
BeanUtils.copyProperties(spec, accountPolicy, new String[]{"schemasNotPermitted"});
for (String schema : spec.getSchemasNotPermitted()) {
- AbstractAttr attribute = attributable.getAttribute(schema);
+ AbstractAttr attribute = attributable.getAttr(schema);
if (attribute != null) {
List<String> values = attribute.getValuesAsStrings();
if (values != null && !values.isEmpty()) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/LDAPMembershipPropagationActions.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/LDAPMembershipPropagationActions.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/LDAPMembershipPropagationActions.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/propagation/impl/LDAPMembershipPropagationActions.java Thu Oct 10 14:37:56 2013
@@ -84,8 +84,8 @@ public class LDAPMembershipPropagationAc
final JexlContext jexlContext = new MapContext();
jexlUtil.addFieldsToContext(role, jexlContext);
- jexlUtil.addAttrsToContext(role.getAttributes(), jexlContext);
- jexlUtil.addDerAttrsToContext(role.getDerivedAttributes(), role.getAttributes(), jexlContext);
+ jexlUtil.addAttrsToContext(role.getAttrs(), jexlContext);
+ jexlUtil.addDerAttrsToContext(role.getDerAttrs(), role.getAttrs(), jexlContext);
final String roleAccountLink =
jexlUtil.evaluate(task.getResource().getRmapping().getAccountLink(), jexlContext);
LOG.debug("AccountLink for {} is '{}'", role, roleAccountLink);
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -494,7 +494,7 @@ public class PropagationManager {
final Map<String, AttributeMod> vAttrsToBeUpdated, final Boolean enable, final ExternalResource resource) {
LOG.debug("Preparing resource attributes for {} on resource {} with attributes {}",
- subject, resource, subject.getAttributes());
+ subject, resource, subject.getAttrs());
Set<Attribute> attributes = new HashSet<Attribute>();
String accountId = null;
@@ -576,8 +576,8 @@ public class PropagationManager {
connObjectUtil.retrieveVirAttrValues(subject, attrUtil);
// update vAttrsToBeUpdated as well
- for (AbstractVirAttr virAttr : subject.getVirtualAttributes()) {
- final String schema = virAttr.getVirtualSchema().getName();
+ for (AbstractVirAttr virAttr : subject.getVirAttrs()) {
+ final String schema = virAttr.getSchema().getName();
final AttributeMod attributeMod = new AttributeMod();
attributeMod.setSchema(schema);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/report/AbstractReportlet.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/report/AbstractReportlet.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/report/AbstractReportlet.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/report/AbstractReportlet.java Thu Oct 10 14:37:56 2013
@@ -18,11 +18,6 @@
*/
package org.apache.syncope.core.report;
-import static org.apache.syncope.core.report.ReportXMLConst.ATTR_CLASS;
-import static org.apache.syncope.core.report.ReportXMLConst.ATTR_NAME;
-import static org.apache.syncope.core.report.ReportXMLConst.ELEMENT_REPORTLET;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_STRING;
-
import org.apache.syncope.common.report.AbstractReportletConf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,12 +55,12 @@ public abstract class AbstractReportlet<
}
AttributesImpl atts = new AttributesImpl();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, conf.getName());
- atts.addAttribute("", "", ATTR_CLASS, XSD_STRING, getClass().getName());
- handler.startElement("", "", ELEMENT_REPORTLET, atts);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, conf.getName());
+ atts.addAttribute("", "", ReportXMLConst.ATTR_CLASS, ReportXMLConst.XSD_STRING, getClass().getName());
+ handler.startElement("", "", ReportXMLConst.ELEMENT_REPORTLET, atts);
doExtract(handler);
- handler.endElement("", "", ELEMENT_REPORTLET);
+ handler.endElement("", "", ReportXMLConst.ELEMENT_REPORTLET);
}
}
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -18,10 +18,6 @@
*/
package org.apache.syncope.core.report;
-import static org.apache.syncope.core.report.ReportXMLConst.ATTR_NAME;
-import static org.apache.syncope.core.report.ReportXMLConst.ELEMENT_REPORT;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_STRING;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
@@ -148,8 +144,8 @@ public class ReportJob implements Job {
// report header
handler.startDocument();
AttributesImpl atts = new AttributesImpl();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, report.getName());
- handler.startElement("", "", ELEMENT_REPORT, atts);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, report.getName());
+ handler.startElement("", "", ReportXMLConst.ELEMENT_REPORT, atts);
// iterate over reportlet instances defined for this report
for (ReportletConf reportletConf : report.getReportletConfs()) {
@@ -177,7 +173,7 @@ public class ReportJob implements Job {
}
// report footer
- handler.endElement("", "", ELEMENT_REPORT);
+ handler.endElement("", "", ReportXMLConst.ELEMENT_REPORT);
handler.endDocument();
if (!ReportExecStatus.FAILURE.name().equals(execution.getStatus())) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/report/RoleReportlet.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/report/RoleReportlet.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/report/RoleReportlet.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/report/RoleReportlet.java Thu Oct 10 14:37:56 2013
@@ -18,10 +18,6 @@
*/
package org.apache.syncope.core.report;
-import static org.apache.syncope.core.report.ReportXMLConst.ATTR_NAME;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_LONG;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_STRING;
-
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -97,7 +93,7 @@ public class RoleReportlet extends Abstr
for (String resourceName : attributableTO.getResources()) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, resourceName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, resourceName);
handler.startElement("", "", "resource", atts);
handler.endElement("", "", "resource");
}
@@ -112,13 +108,13 @@ public class RoleReportlet extends Abstr
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttributeTO> attrMap = attributableTO.getAttributeMap();
+ Map<String, AttributeTO> attrMap = attributableTO.getAttrMap();
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "attribute", atts);
if (attrMap.containsKey(attrName)) {
@@ -138,13 +134,13 @@ public class RoleReportlet extends Abstr
}
if (!derAttrs.isEmpty()) {
- Map<String, AttributeTO> derAttrMap = attributableTO.getDerivedAttributeMap();
+ Map<String, AttributeTO> derAttrMap = attributableTO.getDerAttrMap();
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "derivedAttribute", atts);
if (derAttrMap.containsKey(attrName)) {
@@ -164,13 +160,13 @@ public class RoleReportlet extends Abstr
}
if (!virAttrs.isEmpty()) {
- Map<String, AttributeTO> virAttrMap = attributableTO.getVirtualAttributeMap();
+ Map<String, AttributeTO> virAttrMap = attributableTO.getVirAttrMap();
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "virtualAttribute", atts);
if (virAttrMap.containsKey(attrName)) {
@@ -202,22 +198,22 @@ public class RoleReportlet extends Abstr
String value = null;
switch (feature) {
case id:
- type = XSD_LONG;
+ type = ReportXMLConst.XSD_LONG;
value = String.valueOf(role.getId());
break;
case name:
- type = XSD_STRING;
+ type = ReportXMLConst.XSD_STRING;
value = String.valueOf(role.getName());
break;
case roleOwner:
- type = XSD_LONG;
+ type = ReportXMLConst.XSD_LONG;
value = String.valueOf(role.getRoleOwner());
break;
case userOwner:
- type = XSD_LONG;
+ type = ReportXMLConst.XSD_LONG;
value = String.valueOf(role.getUserOwner());
break;
@@ -244,7 +240,7 @@ public class RoleReportlet extends Abstr
for (String ent : roleTO.getEntitlements()) {
atts.clear();
- atts.addAttribute("", "", "id", XSD_STRING, String.valueOf(ent));
+ atts.addAttribute("", "", "id", ReportXMLConst.XSD_STRING, String.valueOf(ent));
handler.startElement("", "", "entitlement", atts);
handler.endElement("", "", "entitlement");
@@ -263,9 +259,10 @@ public class RoleReportlet extends Abstr
for (Membership memb : roleDAO.findMemberships(role)) {
atts.clear();
- atts.addAttribute("", "", "userId", XSD_LONG, String.valueOf(memb.getSyncopeUser().getId()));
- atts.addAttribute("", "", "userUsername", XSD_STRING, String.valueOf(memb.getSyncopeUser().
- getUsername()));
+ atts.addAttribute("", "", "userId", ReportXMLConst.XSD_LONG,
+ String.valueOf(memb.getSyncopeUser().getId()));
+ atts.addAttribute("", "", "userUsername", ReportXMLConst.XSD_STRING,
+ String.valueOf(memb.getSyncopeUser().getUsername()));
handler.startElement("", "", "user", atts);
handler.endElement("", "", "user");
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/report/UserReportlet.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/report/UserReportlet.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/report/UserReportlet.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/report/UserReportlet.java Thu Oct 10 14:37:56 2013
@@ -18,12 +18,6 @@
*/
package org.apache.syncope.core.report;
-import static org.apache.syncope.core.report.ReportXMLConst.ATTR_NAME;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_DATETIME;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_INT;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_LONG;
-import static org.apache.syncope.core.report.ReportXMLConst.XSD_STRING;
-
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -107,7 +101,7 @@ public class UserReportlet extends Abstr
for (String resourceName : attributableTO.getResources()) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, resourceName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, resourceName);
handler.startElement("", "", "resource", atts);
handler.endElement("", "", "resource");
}
@@ -122,13 +116,13 @@ public class UserReportlet extends Abstr
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttributeTO> attrMap = attributableTO.getAttributeMap();
+ Map<String, AttributeTO> attrMap = attributableTO.getAttrMap();
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "attribute", atts);
if (attrMap.containsKey(attrName)) {
@@ -148,13 +142,13 @@ public class UserReportlet extends Abstr
}
if (!derAttrs.isEmpty()) {
- Map<String, AttributeTO> derAttrMap = attributableTO.getDerivedAttributeMap();
+ Map<String, AttributeTO> derAttrMap = attributableTO.getDerAttrMap();
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "derivedAttribute", atts);
if (derAttrMap.containsKey(attrName)) {
@@ -174,13 +168,13 @@ public class UserReportlet extends Abstr
}
if (!virAttrs.isEmpty()) {
- Map<String, AttributeTO> virAttrMap = attributableTO.getVirtualAttributeMap();
+ Map<String, AttributeTO> virAttrMap = attributableTO.getVirAttrMap();
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
atts.clear();
- atts.addAttribute("", "", ATTR_NAME, XSD_STRING, attrName);
+ atts.addAttribute("", "", ReportXMLConst.ATTR_NAME, ReportXMLConst.XSD_STRING, attrName);
handler.startElement("", "", "virtualAttribute", atts);
if (virAttrMap.containsKey(attrName)) {
@@ -212,53 +206,53 @@ public class UserReportlet extends Abstr
String value = null;
switch (feature) {
case id:
- type = XSD_LONG;
+ type = ReportXMLConst.XSD_LONG;
value = String.valueOf(user.getId());
break;
case username:
- type = XSD_STRING;
+ type = ReportXMLConst.XSD_STRING;
value = user.getUsername();
break;
case workflowId:
- type = XSD_LONG;
+ type = ReportXMLConst.XSD_LONG;
value = String.valueOf(user.getWorkflowId());
break;
case status:
- type = XSD_STRING;
+ type = ReportXMLConst.XSD_STRING;
value = user.getStatus();
break;
case creationDate:
- type = XSD_DATETIME;
+ type = ReportXMLConst.XSD_DATETIME;
value = user.getCreationDate() == null
? ""
: DataFormat.format(user.getCreationDate());
break;
case lastLoginDate:
- type = XSD_DATETIME;
+ type = ReportXMLConst.XSD_DATETIME;
value = user.getLastLoginDate() == null
? ""
: DataFormat.format(user.getLastLoginDate());
break;
case changePwdDate:
- type = XSD_DATETIME;
+ type = ReportXMLConst.XSD_DATETIME;
value = user.getChangePwdDate() == null
? ""
: DataFormat.format(user.getChangePwdDate());
break;
case passwordHistorySize:
- type = XSD_INT;
+ type = ReportXMLConst.XSD_INT;
value = String.valueOf(user.getPasswordHistory().size());
break;
case failedLoginCount:
- type = XSD_INT;
+ type = ReportXMLConst.XSD_INT;
value = String.valueOf(user.getFailedLogins());
break;
@@ -284,13 +278,13 @@ public class UserReportlet extends Abstr
for (MembershipTO memb : userTO.getMemberships()) {
atts.clear();
- atts.addAttribute("", "", "id", XSD_LONG, String.valueOf(memb.getId()));
- atts.addAttribute("", "", "roleId", XSD_LONG, String.valueOf(memb.getRoleId()));
- atts.addAttribute("", "", "roleName", XSD_STRING, String.valueOf(memb.getRoleName()));
+ atts.addAttribute("", "", "id", ReportXMLConst.XSD_LONG, String.valueOf(memb.getId()));
+ atts.addAttribute("", "", "roleId", ReportXMLConst.XSD_LONG, String.valueOf(memb.getRoleId()));
+ atts.addAttribute("", "", "roleName", ReportXMLConst.XSD_STRING, String.valueOf(memb.getRoleName()));
handler.startElement("", "", "membership", atts);
- doExtractAttributes(handler, memb, memb.getAttributeMap().keySet(), memb.getDerivedAttributeMap()
- .keySet(), memb.getVirtualAttributeMap().keySet());
+ doExtractAttributes(handler, memb, memb.getAttrMap().keySet(), memb.getDerAttrMap()
+ .keySet(), memb.getVirAttrMap().keySet());
if (conf.getFeatures().contains(Feature.resources)) {
Membership actualMemb = user.getMembership(memb.getRoleId());
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/ResourceController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/ResourceController.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/ResourceController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/ResourceController.java Thu Oct 10 14:37:56 2013
@@ -18,8 +18,6 @@
*/
package org.apache.syncope.core.rest.controller;
-import static org.apache.syncope.core.rest.controller.AbstractController.LOG;
-
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Collections;
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -262,7 +262,7 @@ public class RoleController {
EntitlementUtil.extendAuthContext(created.getResult());
- List<PropagationTask> tasks = propagationManager.getRoleCreateTaskIds(created, roleTO.getVirtualAttributes());
+ List<PropagationTask> tasks = propagationManager.getRoleCreateTaskIds(created, roleTO.getVirAttrs());
final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
final DefaultPropagationHandler propHanlder = new DefaultPropagationHandler(connObjectUtil, propagations);
@@ -293,7 +293,7 @@ public class RoleController {
WorkflowResult<Long> updated = rwfAdapter.update(roleMod);
List<PropagationTask> tasks = propagationManager.getRoleUpdateTaskIds(updated,
- roleMod.getVirtualAttributesToBeRemoved(), roleMod.getVirtualAttributesToBeUpdated());
+ roleMod.getVirAttrsToRemove(), roleMod.getVirAttrsToUpdate());
final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
final DefaultPropagationHandler propHanlder = new DefaultPropagationHandler(connObjectUtil, propagations);
@@ -359,7 +359,7 @@ public class RoleController {
final RoleMod roleMod = new RoleMod();
roleMod.setId(roleId);
- roleMod.getResourcesToBeRemoved().addAll(resources);
+ roleMod.getResourcesToRemove().addAll(resources);
final WorkflowResult<Long> updated = rwfAdapter.update(roleMod);
@@ -380,7 +380,7 @@ public class RoleController {
final RoleMod roleMod = new RoleMod();
roleMod.setId(roleId);
- roleMod.getResourcesToBeRemoved().addAll(resources);
+ roleMod.getResourcesToRemove().addAll(resources);
return update(roleMod);
}
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=1531003&r1=1531002&r2=1531003&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 Thu Oct 10 14:37:56 2013
@@ -35,7 +35,7 @@ import org.apache.syncope.common.validat
import org.apache.syncope.common.validation.SyncopeClientException;
import org.apache.syncope.core.audit.AuditManager;
import org.apache.syncope.core.persistence.beans.AbstractDerSchema;
-import org.apache.syncope.core.persistence.beans.AbstractSchema;
+import org.apache.syncope.core.persistence.beans.AbstractNormalSchema;
import org.apache.syncope.core.persistence.beans.AbstractVirSchema;
import org.apache.syncope.core.persistence.dao.DerSchemaDAO;
import org.apache.syncope.core.persistence.dao.NotFoundException;
@@ -128,7 +128,7 @@ public class SchemaController extends Ab
case NORMAL:
default:
- AbstractSchema normalSchema = attrUtil.newSchema();
+ AbstractNormalSchema normalSchema = attrUtil.newSchema();
binder.create((SchemaTO) schemaTO, normalSchema);
normalSchema = schemaDAO.save(normalSchema);
@@ -193,9 +193,9 @@ public class SchemaController extends Ab
case NORMAL:
default:
- List<AbstractSchema> schemas = schemaDAO.findAll(attrUtil.schemaClass());
+ List<AbstractNormalSchema> schemas = schemaDAO.findAll(attrUtil.schemaClass());
result = (List<T>) new ArrayList<SchemaTO>(schemas.size());
- for (AbstractSchema schema : schemas) {
+ for (AbstractNormalSchema schema : schemas) {
result.add((T) binder.getSchemaTO(schema, attrUtil));
}
}
@@ -236,7 +236,7 @@ public class SchemaController extends Ab
case NORMAL:
default:
- AbstractSchema schema = schemaDAO.find(schemaName, attrUtil.schemaClass());
+ AbstractNormalSchema schema = schemaDAO.find(schemaName, attrUtil.schemaClass());
if (schema == null) {
throw new NotFoundException("Schema '" + schemaName + "'");
}
@@ -284,7 +284,7 @@ public class SchemaController extends Ab
case NORMAL:
default:
- AbstractSchema schema = schemaDAO.find(schemaName, attrUtil.schemaClass());
+ AbstractNormalSchema schema = schemaDAO.find(schemaName, attrUtil.schemaClass());
if (schema == null) {
throw new NotFoundException("Schema '" + schemaName + "'");
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java?rev=1531003&r1=1531002&r2=1531003&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java Thu Oct 10 14:37:56 2013
@@ -255,7 +255,7 @@ public class UserController {
WorkflowResult<Map.Entry<Long, Boolean>> created = uwfAdapter.create(userTO);
List<PropagationTask> tasks = propagationManager.getUserCreateTaskIds(
- created, userTO.getPassword(), userTO.getVirtualAttributes());
+ created, userTO.getPassword(), userTO.getVirAttrs());
final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
final DefaultPropagationHandler propHanlder = new DefaultPropagationHandler(connObjectUtil, propagations);
@@ -296,7 +296,7 @@ public class UserController {
if (userMod.getPwdPropRequest() == null) {
// 2a. no specific password propagation request: generate propagation tasks for any resource associated
tasks = propagationManager.getUserUpdateTaskIds(updated, changedPwd,
- userMod.getVirtualAttributesToBeRemoved(), userMod.getVirtualAttributesToBeUpdated());
+ userMod.getVirAttrsToRemove(), userMod.getVirAttrsToUpdate());
} else {
// 2b. generate the propagation task list in two phases: first the ones containing password,
// the the rest (with no password)
@@ -312,13 +312,13 @@ public class UserController {
if (!pwdPropByRes.isEmpty()) {
Set<String> toBeExcluded = new HashSet<String>(user.getResourceNames());
- toBeExcluded.addAll(userMod.getResourcesToBeAdded());
+ toBeExcluded.addAll(userMod.getResourcesToAdd());
toBeExcluded.removeAll(pwdResourceNames);
tasks.addAll(propagationManager.getUserUpdateTaskIds(
updated,
changedPwd,
- userMod.getVirtualAttributesToBeRemoved(),
- userMod.getVirtualAttributesToBeUpdated(),
+ userMod.getVirAttrsToRemove(),
+ userMod.getVirAttrsToUpdate(),
toBeExcluded));
}
@@ -332,8 +332,8 @@ public class UserController {
tasks.addAll(propagationManager.getUserUpdateTaskIds(
updated,
null,
- userMod.getVirtualAttributesToBeRemoved(),
- userMod.getVirtualAttributesToBeUpdated(),
+ userMod.getVirAttrsToRemove(),
+ userMod.getVirAttrsToUpdate(),
pwdResourceNames));
}
@@ -629,7 +629,7 @@ public class UserController {
final UserMod userMod = new UserMod();
userMod.setId(userId);
- userMod.getResourcesToBeRemoved().addAll(resources);
+ userMod.getResourcesToRemove().addAll(resources);
final WorkflowResult<Map.Entry<Long, Boolean>> updated = uwfAdapter.update(userMod);
@@ -650,7 +650,7 @@ public class UserController {
final UserMod userMod = new UserMod();
userMod.setId(userId);
- userMod.getResourcesToBeRemoved().addAll(resources);
+ userMod.getResourcesToRemove().addAll(resources);
return update(userMod);
}