package org.atricore.idbus.connectors.jdoidentityvault.domain.dao.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.atricore.idbus.connectors.jdoidentityvault.domain.JDOGroupAttributeDefinition; import org.atricore.idbus.connectors.jdoidentityvault.domain.dao.JDOGroupAttributeDefinitionDAO; import org.springframework.dao.IncorrectResultSizeDataAccessException; import javax.jdo.PersistenceManager; import javax.jdo.Query; import java.util.Collection; public class JDOGroupAttributeDefinitionDAOImpl extends GenericDAOImpl<JDOGroupAttributeDefinition, Long> implements JDOGroupAttributeDefinitionDAO { private static final Log logger = LogFactory.getLog(JDOGroupAttributeDefinitionDAOImpl.class); public JDOGroupAttributeDefinition findByName(String name) { PersistenceManager pm = getPersistenceManager(); Query query = pm.newQuery("SELECT FROM org.atricore.idbus.connectors.jdoidentityvault.domain.JDOGroupAttributeDefinition" + " WHERE this.name == '" + name + "'"); Collection<JDOGroupAttributeDefinition> groupAttributes = (Collection<JDOGroupAttributeDefinition>) query.execute(); if (groupAttributes == null || groupAttributes.size() != 1) throw new IncorrectResultSizeDataAccessException(1, groupAttributes.size()); return groupAttributes.iterator().next(); } }