From: <fc...@us...> - 2007-02-01 16:49:41
|
Revision: 179 http://svn.sourceforge.net/openutils/?rev=179&view=rev Author: fcarone Date: 2007-02-01 08:35:22 -0800 (Thu, 01 Feb 2007) Log Message: ----------- configuration managers added Modified Paths: -------------- trunk/openutils-configuration/pom.xml trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java trunk/openutils-configuration-dataobjects/pom.xml Added Paths: ----------- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAOImpl.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAOImpl.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAOImpl.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAOImpl.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ConfigurationDomainDeleteException.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeDeleteException.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeSaveException.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManager.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManagerImpl.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManager.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManagerImpl.java trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ConfigurationManagerTest.java trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ReferenceManagerTest.java trunk/openutils-configuration/src/test/resources/database.properties trunk/openutils-configuration/src/test/resources/dataset.dtd trunk/openutils-configuration/src/test/resources/hibernate.cfg.xml trunk/openutils-configuration/src/test/resources/log4j.dtd trunk/openutils-configuration/src/test/resources/log4j.xml trunk/openutils-configuration/src/test/resources/spring-dao.xml trunk/openutils-configuration/src/test/resources/spring-database.xml trunk/openutils-configuration/src/test/resources/spring-hibernate.xml trunk/openutils-configuration/src/test/resources/spring-managers.xml trunk/openutils-configuration/src/test/resources/spring-tests.xml Modified: trunk/openutils-configuration/pom.xml =================================================================== --- trunk/openutils-configuration/pom.xml 2007-02-01 15:35:55 UTC (rev 178) +++ trunk/openutils-configuration/pom.xml 2007-02-01 16:35:22 UTC (rev 179) @@ -11,7 +11,7 @@ <artifactId>openutils-configuration</artifactId> <packaging>jar</packaging> <name>openutils-configuration</name> - <version>1.0.0</version> + <version>1.0-SNAPSHOT</version> <description>Configuration classes</description> <dependencies> <dependency> @@ -23,7 +23,7 @@ <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-configuration-dataobjects</artifactId> - <version>1.0.0</version> + <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAOImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAOImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAOImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,24 @@ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationCode; +import it.openutils.dao.hibernate.HibernateDAOImpl; + + +/** + * @author fcarone + * @version $Id$ + */ + +public class ConfigurationCodeDAOImpl extends HibernateDAOImpl<ConfigurationCode, Long> implements ConfigurationCodeDAO +{ + + /** + * {@inheritDoc} + */ + @Override + protected Class<ConfigurationCode> getReferenceClass() + { + return ConfigurationCode.class; + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAOImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAOImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAOImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAOImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,29 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationDomain; +import it.openutils.dao.hibernate.HibernateDAOImpl; + + +/** + * @author fcarone + * @version $Id$ + */ + +public class ConfigurationDomainDAOImpl extends HibernateDAOImpl<ConfigurationDomain, String> + implements + ConfigurationDomainDAO +{ + + /** + * {@inheritDoc} + */ + @Override + protected Class<ConfigurationDomain> getReferenceClass() + { + return ConfigurationDomain.class; + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAOImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAOImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAOImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAOImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,54 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.dao.hibernate.HibernateDAOImpl; + +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.springframework.orm.hibernate3.HibernateCallback; + + +/** + * @author fcarone + * @version $Id$ + */ + +public class ReferenceCodeDAOImpl extends HibernateDAOImpl<ReferenceCode, Long> implements ReferenceCodeDAO +{ + + /** + * {@inheritDoc} + */ + @Override + protected Class<ReferenceCode> getReferenceClass() + { + return ReferenceCode.class; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean delete(final Long key) + { + + return (Boolean) getHibernateTemplate().execute(new HibernateCallback() + { + + public Object doInHibernate(Session ses) throws HibernateException + { + + ReferenceCode code = (ReferenceCode) ses.load(getReferenceClass(), key); + ses.delete(code); + // Hibernate doesn't automatically flush the session after delete and we don't know why + ses.flush(); + return true; + } + }); + + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAOImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAOImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAOImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAOImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,27 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceDomain; +import it.openutils.dao.hibernate.HibernateDAOImpl; + + +/** + * @author fcarone + * @version $Id$ + */ + +public class ReferenceDomainDAOImpl extends HibernateDAOImpl<ReferenceDomain, String> implements ReferenceDomainDAO +{ + + /** + * {@inheritDoc} + */ + @Override + protected Class<ReferenceDomain> getReferenceClass() + { + return ReferenceDomain.class; + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAOImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ConfigurationDomainDeleteException.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ConfigurationDomainDeleteException.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ConfigurationDomainDeleteException.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,37 @@ +package it.openutils.configuration.exceptions; + +/** + * @author collins + * @version $Id$ + */ +public class ConfigurationDomainDeleteException extends RuntimeException +{ + + private static final long serialVersionUID = 0202L; + + /** + * @param message The error message. + * @param cause The error cause. + */ + public ConfigurationDomainDeleteException(String message, Throwable cause) + { + super(message, cause); + } + + /** + * @param message The error message. + */ + public ConfigurationDomainDeleteException(String message) + { + super(message); + } + + /** + * @param cause The error cause. + */ + public ConfigurationDomainDeleteException(Throwable cause) + { + super(cause); + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ConfigurationDomainDeleteException.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeDeleteException.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeDeleteException.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeDeleteException.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,37 @@ +package it.openutils.configuration.exceptions; + +/** + * @author collins + * @version $Id$ + */ +public class ReferenceCodeDeleteException extends RuntimeException +{ + + private static final long serialVersionUID = 0202L; + + /** + * @param message The error message. + * @param cause The error cause. + */ + public ReferenceCodeDeleteException(String message, Throwable cause) + { + super(message, cause); + } + + /** + * @param message The error message. + */ + public ReferenceCodeDeleteException(String message) + { + super(message); + } + + /** + * @param cause The error cause. + */ + public ReferenceCodeDeleteException(Throwable cause) + { + super(cause); + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeDeleteException.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeSaveException.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeSaveException.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeSaveException.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,37 @@ +package it.openutils.configuration.exceptions; + +/** + * @author collins + * @version $Id$ + */ +public class ReferenceCodeSaveException extends RuntimeException +{ + + private static final long serialVersionUID = 0202L; + + /** + * @param message The error message. + * @param cause The error cause. + */ + public ReferenceCodeSaveException(String message, Throwable cause) + { + super(message, cause); + } + + /** + * @param message The error message. + */ + public ReferenceCodeSaveException(String message) + { + super(message); + } + + /** + * @param cause The error cause. + */ + public ReferenceCodeSaveException(Throwable cause) + { + super(cause); + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/exceptions/ReferenceCodeSaveException.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManager.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManager.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManager.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,74 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dataobjects.ConfigurationCode; +import it.openutils.configuration.dataobjects.ConfigurationDomain; + +import java.util.List; + +/** + * @author fgiust + * @version $Id$ + */ +public interface ConfigurationManager +{ + + /** + * Returns the list of all esisting ConfigurationDomain + * @return a list of ConfigurationDomain. + */ + List<ConfigurationDomain> getConfigurationDomains(); + + /** + * Returns the list of ConfigurationCode associated to a given domain + * @param domain domain + * @return configuration configuration. + */ + List<ConfigurationCode> getConfigurationCodes(String domain); + + /** + * Returns the list of ConfigurationCode associated to a given domain + * @param domain domain + * @return configuration configuration. + */ + List<String> getConfigurationCodesAsString(String domain); + + /** + * Save a ConfigurationDomain + * @param domain domain + * @return domain ConfigurationDomain's instance. + */ + ConfigurationDomain saveOrUpdateConfigurationDomain(ConfigurationDomain domain); + + /** + * Save a ConfigurationCode + * @param configurationCode configurationCode + * @return configurationCode ConfigurationCode instance. + */ + ConfigurationCode saveOrUpdateConfigurationCode(ConfigurationCode configurationCode); + + /** + * Remove a ConfigurationDomain + * @param domain domain + */ + void removeConfigurationDomain(String domain); + + /** + * Remove a ConfigurationCode + * @param configurationCode configurationCode + */ + void removeConfigurationCode(ConfigurationCode configurationCode); + + /** + * @param domainId The configuration domani you want configuration codes for. + * @return configuration domain by id + */ + ConfigurationDomain getConfigurationDomain(String domainId); + + /** + * @param domainId The configuration domani you want configuration codes for. + * @param codeId The configuration code id. + * @return The ConfigurationCode identified by the configuration code id. + */ + ConfigurationCode getConfigurationCode(String domainId, String codeId); + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManager.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManagerImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManagerImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManagerImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,172 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dao.ConfigurationCodeDAO; +import it.openutils.configuration.dao.ConfigurationDomainDAO; +import it.openutils.configuration.dataobjects.ConfigurationCode; +import it.openutils.configuration.dataobjects.ConfigurationDomain; +import it.openutils.configuration.exceptions.ConfigurationDomainDeleteException; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang.StringUtils; + + +/** + * @author fgiust + * @version $Id$ + */ +public class ConfigurationManagerImpl implements ConfigurationManager +{ + + /** + * Data access object for ConfigurationCode. + */ + private ConfigurationCodeDAO configurationCodeDAO; + + /** + * Data access object for ConfigurationDomain. + */ + private ConfigurationDomainDAO configurationDomainDAO; + + /** + * Sets the configurationCodeDAO. + * @param configurationCodeDAO the configurationCodeDAO to set + */ + public void setConfigurationCodeDAO(ConfigurationCodeDAO configurationCodeDAO) + { + this.configurationCodeDAO = configurationCodeDAO; + } + + /** + * Sets the configurationDomainDAO. + * @param configurationDomainDAO the configurationDomainDAO to set + */ + public void setConfigurationDomainDAO(ConfigurationDomainDAO configurationDomainDAO) + { + this.configurationDomainDAO = configurationDomainDAO; + } + + /** + * {@inheritDoc} + */ + public List<ConfigurationDomain> getConfigurationDomains() + { + + return configurationDomainDAO.findAll(); + } + + /** + * {@inheritDoc} + */ + public List<ConfigurationCode> getConfigurationCodes(String domain) + { + ConfigurationDomain configurationDomain = configurationDomainDAO.loadIfAvailable(domain); + if (configurationDomain == null) + { + return new ArrayList<ConfigurationCode>(); + } + + ConfigurationCode filter = new ConfigurationCode(); + filter.setConfigurationdomain(configurationDomain); + + return configurationCodeDAO.findFiltered(filter); + } + + /** + * {@inheritDoc} + */ + public List<String> getConfigurationCodesAsString(String domain) + { + ConfigurationDomain configurationDomain = configurationDomainDAO.loadIfAvailable(domain); + if (configurationDomain == null) + { + return new ArrayList<String>(); + } + + List<String> configurationCodes = new ArrayList<String>(); + List<ConfigurationCode> configurationCodesList = new ArrayList<ConfigurationCode>(); + + ConfigurationCode filter = new ConfigurationCode(); + filter.setConfigurationdomain(configurationDomain); + configurationCodesList = configurationCodeDAO.findFiltered(filter); + + for (ConfigurationCode code : configurationCodesList) + { + configurationCodes.add(code.getCode()); + } + + return configurationCodes; + } + + /** + * {@inheritDoc} + */ + public ConfigurationDomain saveOrUpdateConfigurationDomain(ConfigurationDomain domain) + { + configurationDomainDAO.saveOrUpdate(domain); + + return domain; + } + + /** + * {@inheritDoc} + */ + public ConfigurationCode saveOrUpdateConfigurationCode(ConfigurationCode configurationCode) + { + configurationDomainDAO.saveOrUpdate(configurationCode.getConfigurationdomain()); + configurationCodeDAO.saveOrUpdate(configurationCode); + + return configurationCode; + } + + /** + * {@inheritDoc} + */ + public void removeConfigurationCode(ConfigurationCode configurationCode) + { + configurationCodeDAO.delete(configurationCode.getId()); + } + + /** + * {@inheritDoc} + */ + public void removeConfigurationDomain(String domain) + { + List<ConfigurationCode> configurationCodes = getConfigurationCodes(domain); + if (configurationCodes.isEmpty()) + { + configurationDomainDAO.delete(domain); + } + else + { + throw new ConfigurationDomainDeleteException("Cannot delete ConfigurationDomain with ConfigurationCodes."); + } + } + + /** + * {@inheritDoc} + */ + public ConfigurationDomain getConfigurationDomain(String domainId) + { + ConfigurationDomain domain = configurationDomainDAO.load(domainId); + return domain; + } + + /** + * {@inheritDoc} + */ + public ConfigurationCode getConfigurationCode(String domainId, String codeId) + { + List<ConfigurationCode> configurationCodes = getConfigurationCodes(domainId); + for (ConfigurationCode configurationCode : configurationCodes) + { + if (StringUtils.equals(configurationCode.getCode(), codeId)) + { + return configurationCode; + } + } + return null; + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ConfigurationManagerImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManager.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManager.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManager.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,84 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.configuration.dataobjects.ReferenceDomain; + +import java.util.List; +import java.util.Map; + +/** + * Manages reference code and domains. + * @author fgiust + * @version $Id$ + */ +public interface ReferenceManager +{ + + /** + * Returns the list of all esisting ReferenceDomain + * @return a list of ReferenceDomain. + */ + List<ReferenceDomain> getReferenceDomains(); + + /** + * Returns the list of Active reference codes associated to a given domain + * @param domainId ReferenceDomain code + * @return reference code values as an array of strings. + */ + List<String> getReferenceCodesAsString(String domainId); + + /** + * Return the domain with the given id + * @param domainId ReferenceDomain code + * @return ReferenceDomain + */ + ReferenceDomain getReferenceDomain(String domainId); + + /** + * Returns the list of all reference codes associated to a given domain referenceCodes + * @param domainId ReferenceDomain code + * @return reference codes. + */ + List<ReferenceCode> getReferenceCodes(String domainId); + + /** + * Returns the list of Active reference codes associated to a given domain + * @param domainId ReferenceDomain code + * @return reference codes. + */ + Map<String, String> getReferenceCodesAsMap(String domainId); + + /** + * Saves a given reference code. + * @param code ReferenceCode instance + * @return saved ReferenceCode instance. + */ + ReferenceCode saveOrUpdateReferenceCode(ReferenceCode code); + + /** + * Saves a given reference domain. + * @param domain ReferenceDomain instance + * @return saved ReferenceDomain instance. + */ + ReferenceDomain saveOrUpdateReferenceDomain(ReferenceDomain domain); + + /** + * Remove a ReferenceCode + * @param referenceCode ReferenceCode instance + */ + void removeReferenceCode(ReferenceCode referenceCode); + + /** + * Remove a ReferenceCode by id + * @param referenceCodeId ReferenceCode instance id + */ + void removeReferenceCode(Long referenceCodeId); + + /** + * @param domain belonging domain + * @param code code to search + * @return referenceCode instance + */ + ReferenceCode getReferenceCode(String domain, String code); + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManager.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManagerImpl.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManagerImpl.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManagerImpl.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,212 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dao.ReferenceCodeDAO; +import it.openutils.configuration.dao.ReferenceDomainDAO; +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.configuration.dataobjects.ReferenceDomain; +import it.openutils.configuration.exceptions.ReferenceCodeSaveException; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + + +/** + * @author fgiust + * @version $Id$ + */ +public class ReferenceManagerImpl implements ReferenceManager +{ + + /** + * Data access object for reference codes. + */ + private ReferenceCodeDAO referenceCodeDAO; + + /** + * Data access object for reference domains. + */ + private ReferenceDomainDAO referenceDomainDAO; + + /** + * IOC setter. + * @param referenceCodeDAO the referenceCodeDAO to set + */ + public void setReferenceCodeDAO(ReferenceCodeDAO referenceCodeDAO) + { + this.referenceCodeDAO = referenceCodeDAO; + } + + /** + * IOC setter. + * @param referenceDomainDAO the referenceDomainDAO to set + */ + public void setReferenceDomainDAO(ReferenceDomainDAO referenceDomainDAO) + { + this.referenceDomainDAO = referenceDomainDAO; + } + + /** + * {@inheritDoc} + */ + public List<ReferenceDomain> getReferenceDomains() + { + return referenceDomainDAO.findAll(); + } + + + /** + * {@inheritDoc} + */ + public ReferenceCode saveOrUpdateReferenceCode(ReferenceCode referenceCode) + { + ReferenceDomain transientDomain = referenceCode.getReferencedomain(); + if (transientDomain == null || (transientDomain.getId() == null)) + { + throw new ReferenceCodeSaveException("Cannot save a ReferenceCode with an unknown ReferenceDomain."); + } + + ReferenceCode filter = new ReferenceCode(); + ReferenceDomain dbDomain = referenceDomainDAO.loadIfAvailable(transientDomain.getId()); + if (dbDomain == null) + { + referenceDomainDAO.save(transientDomain); + } + else + { + filter.setReferencedomain(dbDomain); + } + + filter.setCode(referenceCode.getCode()); + + ReferenceCode dbCode = referenceCodeDAO.findFilteredFirst(filter); + if (dbCode == null) + { + referenceCodeDAO.save(referenceCode); + return referenceCode; + } + dbCode.setActive(referenceCode.getActive()); + dbCode.setCode(referenceCode.getCode()); + dbCode.setDescription(referenceCode.getDescription()); + dbCode.setReferencedomain(referenceCode.getReferencedomain()); + referenceCodeDAO.update(dbCode); + return dbCode; + } + + /** + * {@inheritDoc} + */ + public void removeReferenceCode(ReferenceCode referenceCode) + { + referenceCodeDAO.delete(referenceCode.getId()); + } + + /** + * {@inheritDoc} + */ + public List<ReferenceCode> getReferenceCodes(String domainId) + { + ReferenceDomain referenceDomain = referenceDomainDAO.loadIfAvailable(domainId); + if (referenceDomain == null) + { + return new ArrayList<ReferenceCode>(); + } + + ReferenceCode filter = new ReferenceCode(); + filter.setReferencedomain(referenceDomain); + + List<ReferenceCode> referenceCodes = referenceCodeDAO.findFiltered(filter); + Collections.sort(referenceCodes); + return referenceCodes; + } + + /** + * {@inheritDoc} + */ + public List<String> getReferenceCodesAsString(String domainId) + { + ReferenceDomain referenceDomain = referenceDomainDAO.loadIfAvailable(domainId); + if (referenceDomain == null) + { + return new ArrayList<String>(); + } + List<String> codeIds = new ArrayList<String>(); + + ReferenceCode filter = new ReferenceCode(); + filter.setReferencedomain(referenceDomain); + filter.setActive(Boolean.TRUE); + + List<ReferenceCode> codes = referenceCodeDAO.findFiltered(filter); + + for (ReferenceCode code : codes) + { + codeIds.add(code.getCode()); + } + + return codeIds; + } + + /** + * {@inheritDoc} + */ + public ReferenceDomain getReferenceDomain(String domainId) + { + return referenceDomainDAO.load(domainId); + } + + /** + * {@inheritDoc} + */ + public ReferenceDomain saveOrUpdateReferenceDomain(ReferenceDomain domain) + { + if (domain.getId() == null || referenceDomainDAO.loadIfAvailable(domain.getId()) == null) + { + referenceDomainDAO.save(domain); + return domain; + } + ReferenceDomain dbDomain = referenceDomainDAO.loadIfAvailable(domain.getId()); + dbDomain.setDescription(domain.getDescription()); + referenceDomainDAO.update(dbDomain); + return dbDomain; + } + + /** + * {@inheritDoc} + */ + public Map<String, String> getReferenceCodesAsMap(String domainId) + { + List<ReferenceCode> codes = getReferenceCodes(domainId); + Map<String, String> map = new LinkedHashMap<String, String>(codes.size()); + for (ReferenceCode code : codes) + { + if (code.getActive()) + { + map.put(code.getCode(), code.getDescription()); + } + } + return map; + } + + /** + * {@inheritDoc} + */ + public void removeReferenceCode(Long referenceCodeId) + { + referenceCodeDAO.delete(referenceCodeId); + + } + + /** + * {@inheritDoc} + */ + public ReferenceCode getReferenceCode(String domain, String code) + { + ReferenceCode filterCode = new ReferenceCode(); + filterCode.setCode(code); + filterCode.setReferencedomain(getReferenceDomain(domain)); + return referenceCodeDAO.findFilteredFirst(filterCode); + } + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/services/ReferenceManagerImpl.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Modified: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -1,6 +1,3 @@ -/* - * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it - */ package it.openutils.configuration.dao; import it.openutils.configuration.dataobjects.ConfigurationCode; @@ -85,7 +82,7 @@ public void testDelete() { instance.delete(new Long("1")); - List all = instance.findAll(); + List<ConfigurationCode> all = instance.findAll(); Assert.assertEquals(1, all.size()); } Modified: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -1,6 +1,3 @@ -/* - * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it - */ package it.openutils.configuration.dao; import it.openutils.configuration.dataobjects.ConfigurationDomain; @@ -13,7 +10,8 @@ /** - * @author collins + * @author fcarone + * @version $Id$ */ public class ConfigurationDomainDAOTest extends GenericsDbUnitTestCase<ConfigurationDomainDAO> { @@ -68,7 +66,7 @@ public void testDelete() { instance.delete("DOMINIO1"); - List all = instance.findAll(); + List<ConfigurationDomain> all = instance.findAll(); Assert.assertEquals(0, all.size()); } Modified: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -1,6 +1,3 @@ -/* - * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it - */ package it.openutils.configuration.dao; import it.openutils.configuration.dataobjects.ReferenceCode; @@ -13,7 +10,8 @@ /** - * @author collins + * @author fcarone + * @version $Id$ */ public class ReferenceCodeDAOTest extends GenericsDbUnitTestCase<ReferenceCodeDAO> { @@ -72,7 +70,7 @@ public void testDelete() { instance.delete(1L); - List all = instance.findAll(); + List<ReferenceCode> all = instance.findAll(); Assert.assertEquals(0, all.size()); } Modified: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -1,6 +1,3 @@ -/* - * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it - */ package it.openutils.configuration.dao; import it.openutils.configuration.dataobjects.ReferenceDomain; @@ -13,7 +10,8 @@ /** - * @author collins + * @author fcarone + * @version $Id$ */ public class ReferenceDomainDAOTest extends GenericsDbUnitTestCase<ReferenceDomainDAO> { @@ -68,7 +66,7 @@ public void testDelete() { instance.delete("DOMINIO1"); - List all = instance.findAll(); + List<ReferenceDomain> all = instance.findAll(); Assert.assertEquals(0, all.size()); } Added: trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ConfigurationManagerTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ConfigurationManagerTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ConfigurationManagerTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,88 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dataobjects.ConfigurationCode; +import it.openutils.configuration.dataobjects.ConfigurationDomain; +import it.openutils.configuration.exceptions.ConfigurationDomainDeleteException; +import it.openutils.testing.testng.GenericsDbUnitTestCase; + +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.Test; + + +/** + * @author fcarone + * @version $Id$ + */ +public class ConfigurationManagerTest extends GenericsDbUnitTestCase<ConfigurationManager> +{ + + /** + * Test for the getConfigurationDomains method. + */ + @Test + public void testGetConfigurationDomains() + { + List<ConfigurationDomain> configurationDomains = instance.getConfigurationDomains(); + Assert.assertNotNull(configurationDomains, "Referenced object is null"); + Assert.assertEquals(((configurationDomains.get(0).getId())), "CONFIG_DOMAIN"); + Assert.assertEquals(((configurationDomains.get(0).getDescription())), "DESCRIZIONE"); + } + + /** + * Test for the getConfigurationCodes method. + */ + @Test + public void testGetConfigurationCodes() + { + List<ConfigurationCode> configurationCodes = instance.getConfigurationCodes("CONFIG_DOMAIN"); + Assert.assertNotNull(configurationCodes, "Referenced object is null"); + Assert.assertEquals(((configurationCodes.get(0).getConfigurationdomain())).getId(), "CONFIG_DOMAIN"); + Assert.assertEquals(((configurationCodes.get(0).getValue())), "VALORE"); + } + + /** + * Test for the saveOrUpdateConfigurationCode method. + */ + @Test + public void testSaveOrUpdateConfigurationCode() + { + + ConfigurationCode cc = new ConfigurationCode(); + cc.setDescription("descrizione"); + cc.setCode("codice"); + cc.setType("tipo"); + cc.setValue("valore"); + + ConfigurationDomain cd = new ConfigurationDomain(); + cd.setId("NEW_DOMAIN"); + cd.setDescription("DESCRIZIONE"); + + cc.setConfigurationdomain(cd); + instance.saveOrUpdateConfigurationCode(cc); + + List<ConfigurationDomain> configurationDomains = instance.getConfigurationDomains(); + Assert.assertNotNull(configurationDomains, "Referenced object is null"); + Assert.assertEquals(((configurationDomains.size())), 3); + + List<ConfigurationCode> configurationCodes = instance.getConfigurationCodes("NEW_DOMAIN"); + Assert.assertNotNull(configurationCodes, "Referenced object is null"); + Assert.assertEquals(((configurationCodes.get(0).getType())), "tipo"); + } + + /** + * Test for the removeConfigurationDomain method. + */ + @Test(expectedExceptions = ConfigurationDomainDeleteException.class) + public void testRemoveConfigurationDomain() + { + + List<ConfigurationDomain> configurationDomains = instance.getConfigurationDomains(); + Assert.assertNotNull(configurationDomains, "Referenced object is null"); + Assert.assertEquals(((configurationDomains.get(1).getId())), "CONFIG_DOMAIN_2"); + + ConfigurationDomain configurationDomain = configurationDomains.get(1); + instance.removeConfigurationDomain(configurationDomain.getId()); + } +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ConfigurationManagerTest.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ReferenceManagerTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ReferenceManagerTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ReferenceManagerTest.java 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,128 @@ +package it.openutils.configuration.services; + +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.configuration.dataobjects.ReferenceDomain; +import it.openutils.testing.testng.GenericsDbUnitTestCase; + +import java.util.List; +import java.util.Map; + +import org.testng.Assert; +import org.testng.annotations.Test; + + +/** + * @author fgiust + * @version $Id$ + */ +public class ReferenceManagerTest extends GenericsDbUnitTestCase<ReferenceManager> +{ + + /** + * Test for the getReferenceDomains method. + */ + @Test + public void testGetReferenceDomains() + { + List<ReferenceDomain> referenceDomains = instance.getReferenceDomains(); + Assert.assertNotNull(referenceDomains, "Referenced object is null"); + Assert.assertEquals(((referenceDomains.get(0).getId())), "CURVE_DOMAIN"); + } + + /** + * Test for the getReferenceCodes method. + */ + @Test + public void testGetReferenceCodesNotExisting() + { + List<ReferenceCode> referenceCodes = instance.getReferenceCodes("pippo"); + Assert.assertNotNull(referenceCodes, "Referenced object is null"); + Assert.assertTrue(referenceCodes.isEmpty()); + } + + /** + * Test for the getReferenceCodesAsString method. + */ + @Test + public void testGetReferenceCodesAsStringNotExisting() + { + List<String> referenceCodes = instance.getReferenceCodesAsString("pippo"); + Assert.assertNotNull(referenceCodes, "Referenced object is null"); + Assert.assertTrue(referenceCodes.isEmpty()); + } + + /** + * Test for the saveReferenceCode method. + */ + @Test + public void testSaveReferenceCode() + { + + List<ReferenceDomain> referenceDomains = instance.getReferenceDomains(); + Assert.assertNotNull(referenceDomains, "Referenced object is null"); + Assert.assertEquals(((referenceDomains.get(0).getId())), "CURVE_DOMAIN"); + + ReferenceCode rc = new ReferenceCode(); + rc.setCode("codice"); + rc.setDescription("descrizione"); + rc.setActive(Boolean.FALSE); + + ReferenceDomain rd = new ReferenceDomain(); + rd.setId("NEW_DOMAIN"); + rd.setDescription("DESCRIZIONE"); + + rc.setReferencedomain(rd); + ReferenceCode referenceCodeSaved = instance.saveOrUpdateReferenceCode(rc); + Assert.assertNotNull(referenceCodeSaved, "Saved object is null"); + } + + /** + * Test for the getReferenceCodesAsString method. + */ + @Test + public void testGetReferenceCodesAsMap() + { + Map<String, String> result = instance.getReferenceCodesAsMap("CURVE_DOMAIN"); + Assert.assertNotNull(result, "Referenced object is null"); + Assert.assertEquals(result.get("CODICE"), "DESCRIZIONE"); + } + + /** + * Test for the getReferenceCodesAsString method. + */ + @Test + public void testGetReferenceCodesAsMapNotExisting() + { + Map<String, String> result = instance.getReferenceCodesAsMap("pippo"); + Assert.assertNotNull(result, "Referenced object is null"); + Assert.assertTrue(result.isEmpty()); + } + + /** + * Test for the getetReferenceDomain method. + */ + @Test + public void testGetReferenceDomainWithCode() + { + List<ReferenceDomain> referenceDomains = instance.getReferenceDomains(); + Assert.assertNotNull(referenceDomains, "Referenced object is null"); + Assert.assertEquals(((referenceDomains.get(0).getId())), "CURVE_DOMAIN"); + } + + /** + * Test for the saveOrUpdateReferenceDomain method. + */ + @Test + public void testSaveOrUpdateReferenceDomain() + { + + ReferenceDomain rd = new ReferenceDomain(); + rd.setId("NEW_DOMAIN"); + rd.setDescription("DESCRIZIONE"); + + instance.saveOrUpdateReferenceDomain(rd); + + Assert.assertEquals(instance.getReferenceDomains().size(), 2); + } + +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/services/ReferenceManagerTest.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/database.properties =================================================================== --- trunk/openutils-configuration/src/test/resources/database.properties (rev 0) +++ trunk/openutils-configuration/src/test/resources/database.properties 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,11 @@ +# ATTENZIONE: queste propriet\xE0 sono utilizzate solo per gli unit tests +# i file per la configurazione del db utilizzati dall'applicazione web sono in +# src/main/web-app/WEB-INF + +hibernate.connection.driver=org.apache.derby.jdbc.EmbeddedDriver +hibernate.dialect=org.hibernate.dialect.DerbyDialect +hibernate.connection.username=ikam +hibernate.connection.password= +hibernate.connection.url=jdbc:derby:target/db/openutils-usermanagement-db-test;create=true +hibernate.hbm2ddl.auto=update + Added: trunk/openutils-configuration/src/test/resources/dataset.dtd =================================================================== --- trunk/openutils-configuration/src/test/resources/dataset.dtd (rev 0) +++ trunk/openutils-configuration/src/test/resources/dataset.dtd 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,13 @@ +<!ELEMENT dataset (table*)> +<!ELEMENT table (column+,row+)> +<!ATTLIST table + name CDATA #REQUIRED +> +<!ELEMENT row (value|null)+> +<!ELEMENT column (#PCDATA)> +<!ELEMENT value (#PCDATA)> +<!ELEMENT null EMPTY> +<!-- +nb una tabella senza righe sarebbe valida (per cancellare tutto il contenuto), +ma NON DEVE ESISTERE NEI NOSTRI TEST IN QUANTO TUTTE LE TABELLE VENGONO SVUOTATE PRIMA DEL CARICAMENTO +--> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/dataset.dtd ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/hibernate.cfg.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/hibernate.cfg.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/hibernate.cfg.xml 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,11 @@ +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> +<hibernate-configuration> + <session-factory> + <mapping class="it.openutils.configuration.dataobjects.ConfigurationCode" /> + <mapping class="it.openutils.configuration.dataobjects.ConfigurationDomain" /> + <mapping class="it.openutils.configuration.dataobjects.ReferenceCode" /> + <mapping class="it.openutils.configuration.dataobjects.ReferenceDomain" /> + </session-factory> +</hibernate-configuration> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/hibernate.cfg.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/log4j.dtd =================================================================== --- trunk/openutils-configuration/src/test/resources/log4j.dtd (rev 0) +++ trunk/openutils-configuration/src/test/resources/log4j.dtd 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- Authors: Chris Taylor, Ceki Gulcu. --> + +<!-- Version: 1.2 --> + +<!-- A configuration element consists of optional renderer +elements,appender elements, categories and an optional root +element. --> + +<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?, + categoryFactory?)> + +<!-- The "threshold" attribute takes a level value such that all --> +<!-- logging statements with a level equal or below this value are --> +<!-- disabled. --> + +<!-- Setting the "debug" enable the printing of internal log4j logging --> +<!-- statements. --> + +<!-- By default, debug attribute is "null", meaning that we not do touch --> +<!-- internal log4j logging settings. The "null" value for the threshold --> +<!-- attribute can be misleading. The threshold field of a repository --> +<!-- cannot be set to null. The "null" value for the threshold attribute --> +<!-- simply means don't touch the threshold field, the threshold field --> +<!-- keeps its old value. --> + +<!ATTLIST log4j:configuration + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + threshold (all|debug|info|warn|error|fatal|off|null) "null" + debug (true|false|null) "null" +> + +<!-- renderer elements allow the user to customize the conversion of --> +<!-- message objects to String. --> + +<!ELEMENT renderer EMPTY> +<!ATTLIST renderer + renderedClass CDATA #REQUIRED + renderingClass CDATA #REQUIRED +> + +<!-- Appenders must have a name and a class. --> +<!-- Appenders may contain an error handler, a layout, optional parameters --> +<!-- and filters. They may also reference (or include) other appenders. --> +<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)> +<!ATTLIST appender + name ID #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT layout (param*)> +<!ATTLIST layout + class CDATA #REQUIRED +> + +<!ELEMENT filter (param*)> +<!ATTLIST filter + class CDATA #REQUIRED +> + +<!-- ErrorHandlers can be of any class. They can admit any number of --> +<!-- parameters. --> + +<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)> +<!ATTLIST errorHandler + class CDATA #REQUIRED +> + +<!ELEMENT root-ref EMPTY> + +<!ELEMENT logger-ref EMPTY> +<!ATTLIST logger-ref + ref IDREF #REQUIRED +> + +<!ELEMENT param EMPTY> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + + +<!-- The priority class is org.apache.log4j.Level by default --> +<!ELEMENT priority (param*)> +<!ATTLIST priority + class CDATA #IMPLIED + value CDATA #REQUIRED +> + +<!-- The level class is org.apache.log4j.Level by default --> +<!ELEMENT level (param*)> +<!ATTLIST level + class CDATA #IMPLIED + value CDATA #REQUIRED +> + + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named category. --> +<!ELEMENT category (param*,(priority|level)?,appender-ref*)> +<!ATTLIST category + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named logger. --> +<!ELEMENT logger (level?,appender-ref*)> +<!ATTLIST logger + name ID #REQUIRED + additivity (true|false) "true" +> + + +<!ELEMENT categoryFactory (param*)> +<!ATTLIST categoryFactory + class CDATA #REQUIRED> + +<!ELEMENT appender-ref EMPTY> +<!ATTLIST appender-ref + ref IDREF #REQUIRED +> + +<!-- If no priority element is specified, then the configurator MUST not --> +<!-- touch the priority of root. --> +<!-- The root category always exists and cannot be subclassed. --> +<!ELEMENT root (param*, (priority|level)?, appender-ref*)> + + +<!-- ==================================================================== --> +<!-- A logging event --> +<!-- ==================================================================== --> +<!ELEMENT log4j:eventSet (log4j:event*)> +<!ATTLIST log4j:eventSet + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + version (1.1|1.2) "1.2" + includesLocationInfo (true|false) "true" +> + + + +<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, + log4j:locationInfo?) > + +<!-- The timestamp format is application dependent. --> +<!ATTLIST log4j:event + logger CDATA #REQUIRED + level CDATA #REQUIRED + thread CDATA #REQUIRED + timestamp CDATA #REQUIRED +> + +<!ELEMENT log4j:message (#PCDATA)> +<!ELEMENT log4j:NDC (#PCDATA)> + +<!ELEMENT log4j:throwable (#PCDATA)> + +<!ELEMENT log4j:locationInfo EMPTY> +<!ATTLIST log4j:locationInfo + class CDATA #REQUIRED + method CDATA #REQUIRED + file CDATA #REQUIRED + line CDATA #REQUIRED +> Property changes on: trunk/openutils-configuration/src/test/resources/log4j.dtd ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/log4j.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/log4j.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/log4j.xml 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<log4j:configuration> + <!-- log4j test configuration --> + <appender name="test-appender" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c.%M(%C{1}.java:%L) %m%n" /> + <!-- <param name="ConversionPattern" value="%-5p %m%n" />--> + </layout> + </appender> + <category name="it"> + <priority value="debug" /> + </category> + <category name="org"> + <priority value="warn" /> + </category> + <category name="com"> + <priority value="warn" /> + </category> + <category name="net"> + <priority value="warn" /> + </category> + <category name="org.hibernate"> + <priority value="warn" /> + </category> + <category name="it.openutils.test.ApplicationContextHolder"> + <priority value="info" /> + </category> + <category name="it.openutils.test.BaseDAOTestCase"> + <priority value="INFO" /> + </category> + <category name="it.openutils"> + <priority value="INFO" /> + </category> + <category name="it.openutils.test"> + <priority value="INFO" /> + </category> + <category name="it.faber.AllTests"> + <priority value="info" /> + </category> + <category name="it.openutils.dbupdate.DbSetupManagerImpl"> + <priority value="INFO" /> + </category> + <root> + <priority value="debug" /> + <appender-ref ref="test-appender" /> + </root> +</log4j:configuration> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/log4j.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/spring-dao.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/spring-dao.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/spring-dao.xml 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" +"http://www.springframework.org/dtd/spring-beans.dtd"> +<beans> + <bean id="configurationCodeDAO" parent="txProxyTemplate"> + <property name="target"> + <bean class="it.openutils.configuration.dao.ConfigurationCodeDAOImpl"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> + </property> + </bean> + <bean id="configurationDomainDAO" parent="txProxyTemplate"> + <property name="target"> + <bean class="it.openutils.configuration.dao.ConfigurationDomainDAOImpl"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> + </property> + </bean> + <bean id="referenceCodeDAO" parent="txProxyTemplate"> + <property name="target"> + <bean class="it.openutils.configuration.dao.ReferenceCodeDAOImpl"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> + </property> + </bean> + <bean id="referenceDomainDAO" parent="txProxyTemplate"> + <property name="target"> + <bean class="it.openutils.configuration.dao.ReferenceDomainDAOImpl"> + <property name="sessionFactory" ref="sessionFactory" /> + </bean> + </property> + </bean> + +</beans> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/spring-dao.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/spring-database.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/spring-database.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/spring-database.xml 2007-02-01 16:35:22 UTC (rev 179) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding... [truncated message content] |