From: <fc...@us...> - 2007-02-01 15:35:59
|
Revision: 178 http://svn.sourceforge.net/openutils/?rev=178&view=rev Author: fcarone Date: 2007-02-01 07:35:55 -0800 (Thu, 01 Feb 2007) Log Message: ----------- openutils configuration populated Modified Paths: -------------- trunk/openutils-configuration/pom.xml Added Paths: ----------- trunk/openutils-configuration/src/main/java/it/ trunk/openutils-configuration/src/main/java/it/openutils/ trunk/openutils-configuration/src/main/java/it/openutils/configuration/ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAO.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAO.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAO.java trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAO.java trunk/openutils-configuration/src/test/java/it/ trunk/openutils-configuration/src/test/java/it/openutils/ trunk/openutils-configuration/src/test/java/it/openutils/configuration/ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ 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/src/test/resources/ConfigurationCodeDAOTest-load.xml trunk/openutils-configuration/src/test/resources/ConfigurationDomainDAOTest-load.xml trunk/openutils-configuration/src/test/resources/ReferenceCodeDAOTest-load.xml trunk/openutils-configuration/src/test/resources/ReferenceDomainDAOTest-load.xml Modified: trunk/openutils-configuration/pom.xml =================================================================== --- trunk/openutils-configuration/pom.xml 2007-02-01 15:27:29 UTC (rev 177) +++ trunk/openutils-configuration/pom.xml 2007-02-01 15:35:55 UTC (rev 178) @@ -74,16 +74,17 @@ <scope>test</scope> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>dbunit</groupId> <artifactId>dbunit</artifactId> <version>2.1</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>5.1</version> + <classifier>jdk15</classifier> + <scope>test</scope> + </dependency> </dependencies> </project> \ No newline at end of file Added: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAO.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAO.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAO.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,14 @@ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationCode; +import it.openutils.dao.hibernate.HibernateDAO; + + +/** + * @author fcarone + * @version $Id$ + */ +public interface ConfigurationCodeDAO extends HibernateDAO<ConfigurationCode, Long> +{ + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationCodeDAO.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/ConfigurationDomainDAO.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAO.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAO.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,14 @@ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationDomain; +import it.openutils.dao.hibernate.HibernateDAO; + + +/** + * @author fcarone + * @version $Id$ + */ +public interface ConfigurationDomainDAO extends HibernateDAO<ConfigurationDomain, String> +{ + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ConfigurationDomainDAO.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/ReferenceCodeDAO.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAO.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAO.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,14 @@ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.dao.hibernate.HibernateDAO; + + +/** + * @author fcarone + * @version $Id$ + */ +public interface ReferenceCodeDAO extends HibernateDAO<ReferenceCode, Long> +{ + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceCodeDAO.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/ReferenceDomainDAO.java =================================================================== --- trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAO.java (rev 0) +++ trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAO.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,14 @@ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceDomain; +import it.openutils.dao.hibernate.HibernateDAO; + + +/** + * @author fcarone + * @version $Id$ + */ +public interface ReferenceDomainDAO extends HibernateDAO<ReferenceDomain, String> +{ + +} Property changes on: trunk/openutils-configuration/src/main/java/it/openutils/configuration/dao/ReferenceDomainDAO.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/dao/ConfigurationCodeDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,92 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationCode; +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 ConfigurationCodeDAOTest extends GenericsDbUnitTestCase<ConfigurationCodeDAO> +{ + + /** + * Load the full list + */ + @Test + public void testFindAll() + { + List<ConfigurationCode> all = instance.findAll(); + Assert.assertNotNull(all, "Nothing returned by findAll"); + Assert.assertEquals(2, all.size()); + } + + /** + * load by ID. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testLoad() throws Exception + { + ConfigurationCode bean = instance.load(1L); + Assert.assertNotNull(bean, "Returned object is null"); + log.debug("bean is {}", bean); + Assert.assertEquals(new Long("1"), bean.getId()); + Assert.assertNotNull(bean.getConfigurationdomain()); + Assert.assertEquals("DOMINIO1", bean.getConfigurationdomain().getId()); + Assert.assertEquals("DESCRIZIONE", bean.getConfigurationdomain().getDescription()); + Assert.assertEquals("CODE1", bean.getCode()); + Assert.assertEquals("DESCRIZIONE", bean.getDescription()); + Assert.assertEquals("TIPO", bean.getType()); + Assert.assertEquals("VALORE", bean.getValue()); + + bean = instance.load(2L); + Assert.assertNotNull(bean, "Returned object is null"); + log.debug("bean is {}", bean); + Assert.assertEquals(new Long("2"), bean.getId()); + Assert.assertNotNull(bean.getConfigurationdomain()); + Assert.assertEquals(bean.getConfigurationdomain().getId(), "APPLTEST"); + Assert.assertEquals("Application server configuration", bean.getConfigurationdomain().getDescription()); + Assert.assertEquals("CURVE_SEARCH_LIMIT", bean.getCode()); + Assert.assertEquals("Maximum number of curves returned by a search operation.", bean.getDescription()); + Assert.assertEquals("INT", bean.getType()); + Assert.assertEquals("500", bean.getValue()); + } + + /** + * find. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testFindFiltered() throws Exception + { + + ConfigurationCode filter = new ConfigurationCode(); + filter.setType("TIPO"); + ConfigurationCode bean = instance.findFilteredFirst(filter); + + Assert.assertNotNull(bean, "Returned object is null"); + + } + + /** + * Test delete. + */ + @Test + public void testDelete() + { + instance.delete(new Long("1")); + List all = instance.findAll(); + Assert.assertEquals(1, all.size()); + } + +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationCodeDAOTest.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/dao/ConfigurationDomainDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,75 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ConfigurationDomain; +import it.openutils.testing.testng.GenericsDbUnitTestCase; + +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.Test; + + +/** + * @author collins + */ +public class ConfigurationDomainDAOTest extends GenericsDbUnitTestCase<ConfigurationDomainDAO> +{ + + /** + * Load the full list + */ + @Test + public void testFindAll() + { + List<ConfigurationDomain> all = instance.findAll(); + Assert.assertNotNull(all, "Nothing returned by findAll"); + Assert.assertEquals(1, all.size()); + } + + /** + * load by ID. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testLoad() throws Exception + { + ConfigurationDomain bean = instance.load("DOMINIO1"); + + Assert.assertNotNull(bean, "Returned object is null"); + log.debug("bean is {}", bean); + + Assert.assertEquals("DOMINIO1", bean.getId()); + Assert.assertEquals("DESCRIZIONE", bean.getDescription()); + } + + /** + * find. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testFindFiltered() throws Exception + { + + ConfigurationDomain filter = new ConfigurationDomain(); + filter.setDescription("DESCRIZIONE"); + ConfigurationDomain bean = instance.findFilteredFirst(filter); + + Assert.assertNotNull(bean, "Returned object is null"); + + } + + /** + * Test delete. + */ + @Test + public void testDelete() + { + instance.delete("DOMINIO1"); + List all = instance.findAll(); + Assert.assertEquals(0, all.size()); + } + +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ConfigurationDomainDAOTest.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/dao/ReferenceCodeDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,79 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceCode; +import it.openutils.testing.testng.GenericsDbUnitTestCase; + +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.Test; + + +/** + * @author collins + */ +public class ReferenceCodeDAOTest extends GenericsDbUnitTestCase<ReferenceCodeDAO> +{ + + /** + * Test findAll + */ + @Test + public void testFindAll() + { + List<ReferenceCode> all = instance.findAll(); + Assert.assertNotNull(all, "Nothing returned by findAll"); + Assert.assertEquals(1, all.size()); + } + + /** + * Test load by ID. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testLoad() throws Exception + { + ReferenceCode bean = instance.load(1L); + Assert.assertNotNull(bean, "Returned object is null"); + log.debug("bean is {}", bean); + + Assert.assertEquals(new Long("1"), bean.getId()); + Assert.assertNotNull(bean.getReferencedomain()); + Assert.assertEquals("DOMINIO1", bean.getReferencedomain().getId()); + Assert.assertEquals("DESCRIZIONE", bean.getReferencedomain().getDescription()); + Assert.assertEquals("DESCRIZIONE", bean.getDescription()); + Assert.assertEquals(Boolean.FALSE, bean.getActive()); + + } + + /** + * Test find. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testFindFiltered() throws Exception + { + + ReferenceCode filter = new ReferenceCode(); + filter.setActive(false); + ReferenceCode bean = instance.findFilteredFirst(filter); + + Assert.assertNotNull(bean, "Returned object is null"); + + } + + /** + * Test delete. + */ + @Test + public void testDelete() + { + instance.delete(1L); + List all = instance.findAll(); + Assert.assertEquals(0, all.size()); + } + +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceCodeDAOTest.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/dao/ReferenceDomainDAOTest.java =================================================================== --- trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java (rev 0) +++ trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.java 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,75 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.configuration.dao; + +import it.openutils.configuration.dataobjects.ReferenceDomain; +import it.openutils.testing.testng.GenericsDbUnitTestCase; + +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.Test; + + +/** + * @author collins + */ +public class ReferenceDomainDAOTest extends GenericsDbUnitTestCase<ReferenceDomainDAO> +{ + + /** + * Load the full list + */ + @Test + void testFindAll() + { + List<ReferenceDomain> all = instance.findAll(); + Assert.assertNotNull(all, "Nothing returned by findAll"); + Assert.assertEquals(1, all.size()); + } + + /** + * load by ID. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testLoad() throws Exception + { + ReferenceDomain bean = instance.load("DOMINIO1"); + + Assert.assertNotNull(bean, "Returned object is null"); + log.debug("bean is {}", bean); + + Assert.assertEquals("DOMINIO1", bean.getId()); + Assert.assertEquals("DESCRIZIONE", bean.getDescription()); + } + + /** + * find. + * @throws Exception any Exception occurred during test. + */ + @Test + public void testFindFiltered() throws Exception + { + + ReferenceDomain filter = new ReferenceDomain(); + filter.setDescription("DESCRIZIONE"); + ReferenceDomain bean = instance.findFilteredFirst(filter); + + Assert.assertNotNull(bean, "Returned object is null"); + + } + + /** + * Test delete. + */ + @Test + public void testDelete() + { + instance.delete("DOMINIO1"); + List all = instance.findAll(); + Assert.assertEquals(0, all.size()); + } + +} Property changes on: trunk/openutils-configuration/src/test/java/it/openutils/configuration/dao/ReferenceDomainDAOTest.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/ConfigurationCodeDAOTest-load.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/ConfigurationCodeDAOTest-load.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/ConfigurationCodeDAOTest-load.xml 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,39 @@ +<!DOCTYPE dataset SYSTEM "dataset.dtd"> +<dataset> + <table name="CONFIGURATION_DOMAIN"> + <column>ID_CONFIGURATIONDOMAIN</column> + <column>DESCRIPTION</column> + <row> + <value>DOMINIO1</value> + <value>DESCRIZIONE</value> + </row> + <row> + <value>APPLTEST</value> + <value>Application server configuration</value> + </row> + </table> + <table name="CONFIGURATION_CODE"> + <column>ID_CONFIGURATIONCODE</column> + <column>ID_CONFIGURATIONDOMAIN</column> + <column>CODE</column> + <column>DESCRIPTION</column> + <column>TYPE</column> + <column>VALUE</column> + <row> + <value>1</value> + <value>DOMINIO1</value> + <value>CODE1</value> + <value>DESCRIZIONE</value> + <value>TIPO</value> + <value>VALORE</value> + </row> + <row> + <value>2</value> + <value>APPLTEST</value> + <value>CURVE_SEARCH_LIMIT</value> + <value>Maximum number of curves returned by a search operation.</value> + <value>INT</value> + <value>500</value> + </row> + </table> +</dataset> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/ConfigurationCodeDAOTest-load.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/ConfigurationDomainDAOTest-load.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/ConfigurationDomainDAOTest-load.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/ConfigurationDomainDAOTest-load.xml 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,11 @@ +<!DOCTYPE dataset SYSTEM "dataset.dtd"> +<dataset> + <table name="CONFIGURATION_DOMAIN"> + <column>ID_CONFIGURATIONDOMAIN</column> + <column>DESCRIPTION</column> + <row> + <value>DOMINIO1</value> + <value>DESCRIZIONE</value> + </row> + </table> +</dataset> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/ConfigurationDomainDAOTest-load.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/ReferenceCodeDAOTest-load.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/ReferenceCodeDAOTest-load.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/ReferenceCodeDAOTest-load.xml 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,25 @@ +<!DOCTYPE dataset SYSTEM "dataset.dtd"> +<dataset> + <table name="REFERENCE_DOMAIN"> + <column>ID_REFERENCEDOMAIN</column> + <column>DESCRIPTION</column> + <row> + <value>DOMINIO1</value> + <value>DESCRIZIONE</value> + </row> + </table> + <table name="REFERENCE_CODE"> + <column>ID_REFERENCECODE</column> + <column>ID_REFERENCEDOMAIN</column> + <column>CODE</column> + <column>DESCRIPTION</column> + <column>ACTIVE</column> + <row> + <value>1</value> + <value>DOMINIO1</value> + <value>CODICE</value> + <value>DESCRIZIONE</value> + <value>0</value> + </row> + </table> +</dataset> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/ReferenceCodeDAOTest-load.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: trunk/openutils-configuration/src/test/resources/ReferenceDomainDAOTest-load.xml =================================================================== --- trunk/openutils-configuration/src/test/resources/ReferenceDomainDAOTest-load.xml (rev 0) +++ trunk/openutils-configuration/src/test/resources/ReferenceDomainDAOTest-load.xml 2007-02-01 15:35:55 UTC (rev 178) @@ -0,0 +1,11 @@ +<!DOCTYPE dataset SYSTEM "dataset.dtd"> +<dataset> + <table name="REFERENCE_DOMAIN"> + <column>ID_REFERENCEDOMAIN</column> + <column>DESCRIPTION</column> + <row> + <value>DOMINIO1</value> + <value>DESCRIZIONE</value> + </row> + </table> +</dataset> \ No newline at end of file Property changes on: trunk/openutils-configuration/src/test/resources/ReferenceDomainDAOTest-load.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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(referen... [truncated message content] |