Fixes issue 39
http://code.google.com/p/snofyre/source/detail?r=1824
Added:
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/main/java/uk/nhs/cfh/dsp/snomed/expression/model/SnomedExpressionFactory.java
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/main/java/uk/nhs/cfh/dsp/snomed/expression/model/impl/SnomedExpressionFactoryImpl.java
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed/expression
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed/expression/model
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed/expression/model/impl
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed/expression/model/impl/SnomedExpressionFactoryImplTest.java
Modified:
/trunk/snomed-osgi/pom.xml
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/pom.xml
=======================================
--- /dev/null
+++
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/main/java/uk/nhs/cfh/dsp/snomed/expression/model/SnomedExpressionFactory.java
Fri Mar 18 04:42:19 2011
@@ -0,0 +1,90 @@
+package uk.nhs.cfh.dsp.snomed.expression.model;
+
+import uk.nhs.cfh.dsp.snomed.objectmodel.SnomedConcept;
+
+import java.util.Collection;
+import java.util.UUID;
+
+/**
+ * A factory that creates {@link Expression} objects.
+ *
+ * <br>Version : @#VersionNumber#@
+ * <br>Written by @author Jay Kola
+ * <br>Created on 06/03/2011 at 23:33
+ */
+public interface SnomedExpressionFactory {
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param concept the factory that gets wrapped in the expression as
focus concept
+ * @return the close to user expression
+ */
+ public CloseToUserExpression getCloseToUserExpression(SnomedConcept
concept);
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @return the close to user expression
+ */
+ public CloseToUserExpression
getCloseToUserExpression(Collection<SnomedConcept> focusConcepts);
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param focusConcepts focusConcepts the collection of concepts that
are the focus concepts of this expression
+ * @param uuid the uuid of this expression
+ * @return the close to user expression
+ */
+ public CloseToUserExpression
getCloseToUserExpression(Collection<SnomedConcept> focusConcepts, UUID
uuid);
+
+ /**
+ * A factory method that returns a {@link UnionExpression}
+ * @param containedExpressions the expression that make up this union
object
+ * @param uuid the uuid of this expression
+ * @return the union expression
+ */
+ public UnionExpression getUnionExpression(Collection<Expression>
containedExpressions, UUID uuid);
+
+ /**
+ * A factory method that returns a {@link UnionExpression}
+ * @param containedExpression the expression that make up this union
object
+ * @return the union expression
+ */
+ public UnionExpression getUnionExpression(Collection<Expression>
containedExpression);
+
+ /**
+ * A factory method that returns a {@link IntersectionExpression}
+ * @param containedExpressions the expression that make up this
intersection object
+ * @param uuid
+ * @return the intersection expression
+ */
+ public IntersectionExpression
getIntersectionExpression(Collection<Expression> containedExpressions, UUID
uuid);
+
+ /**
+ * A factory method that returns a {@link IntersectionExpression}
+ * @param containedExpression the expression that make up this
intersection object
+ * @return the intersection expression
+ */
+ public IntersectionExpression
getIntersectionExpression(Collection<Expression> containedExpression);
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param concept the concept that is the focus concept of this normal
form expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression getNormalFormExpression(SnomedConcept
concept);
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression
getNormalFormExpression(Collection<SnomedConcept> focusConcepts);
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @param uuid the uuid of this expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression
getNormalFormExpression(Collection<SnomedConcept> focusConcepts, UUID uuid);
+}
=======================================
--- /dev/null
+++
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/main/java/uk/nhs/cfh/dsp/snomed/expression/model/impl/SnomedExpressionFactoryImpl.java
Fri Mar 18 04:42:19 2011
@@ -0,0 +1,117 @@
+package uk.nhs.cfh.dsp.snomed.expression.model.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import uk.nhs.cfh.dsp.snomed.expression.model.*;
+import uk.nhs.cfh.dsp.snomed.objectmodel.SnomedConcept;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.UUID;
+
+/**
+ * A concrete implementation of a {@link SnomedExpressionFactory}.
+ *
+ * <br>Version : @#VersionNumber#@
+ * <br>Written by @author Jay Kola
+ * <br>Created on 06/03/2011 at 23:34
+ */
+public class SnomedExpressionFactoryImpl implements
SnomedExpressionFactory {
+
+ private static Log logger =
LogFactory.getLog(SnomedExpressionFactoryImpl.class);
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param concept the factory that gets wrapped in the expression as
focus concept
+ * @return the close to user expression
+ */
+ public CloseToUserExpression getCloseToUserExpression(SnomedConcept
concept){
+ return getCloseToUserExpression(Collections.singleton(concept));
+ }
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @return the close to user expression
+ */
+ public CloseToUserExpression
getCloseToUserExpression(Collection<SnomedConcept> focusConcepts){
+ return getCloseToUserExpression(focusConcepts, UUID.randomUUID());
+ }
+
+ /**
+ * A factory method that returns a {@link CloseToUserExpression}
+ * @param focusConcepts focusConcepts the collection of concepts that
are the focus concepts of this expression
+ * @param uuid the uuid of this expression
+ * @return the close to user expression
+ */
+ public CloseToUserExpression
getCloseToUserExpression(Collection<SnomedConcept> focusConcepts, UUID
uuid){
+ return new CloseToUserExpressionImpl(new
HashSet<SnomedConcept>(focusConcepts), uuid);
+ }
+
+ /**
+ * A factory method that returns a {@link UnionExpression}
+ * @param containedExpressions the expression that make up this union
object
+ * @param uuid the uuid of this expression
+ * @return the union expression
+ */
+ public UnionExpression getUnionExpression(Collection<Expression>
containedExpressions, UUID uuid){
+ return new UnionExpressionImpl(uuid, containedExpressions);
+ }
+
+ /**
+ * A factory method that returns a {@link UnionExpression}
+ * @param containedExpression the expression that make up this union
object
+ * @return the union expression
+ */
+ public UnionExpression getUnionExpression(Collection<Expression>
containedExpression){
+ return getUnionExpression(containedExpression, UUID.randomUUID());
+ }
+
+ /**
+ * A factory method that returns a {@link IntersectionExpression}
+ * @param containedExpressions the expression that make up this
intersection object
+ * @param uuid
+ * @return the intersection expression
+ */
+ public IntersectionExpression
getIntersectionExpression(Collection<Expression> containedExpressions, UUID
uuid){
+ return new IntersectionExpressionImpl(uuid, containedExpressions);
+ }
+
+ /**
+ * A factory method that returns a {@link IntersectionExpression}
+ * @param containedExpression the expression that make up this
intersection object
+ * @return the intersection expression
+ */
+ public IntersectionExpression
getIntersectionExpression(Collection<Expression> containedExpression){
+ return getIntersectionExpression(containedExpression,
UUID.randomUUID());
+ }
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param concept the concept that is the focus concept of this normal
form expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression getNormalFormExpression(SnomedConcept
concept){
+ return getNormalFormExpression(Collections.singleton(concept));
+ }
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression
getNormalFormExpression(Collection<SnomedConcept> focusConcepts){
+ return getNormalFormExpression(focusConcepts, UUID.randomUUID());
+ }
+
+ /**
+ * A factory method that returns a {@link NormalFormExpression}
+ * @param focusConcepts the collection of concepts that are the focus
concepts of this expression
+ * @param uuid the uuid of this expression
+ * @return the normal form expression
+ */
+ public NormalFormExpression
getNormalFormExpression(Collection<SnomedConcept> focusConcepts, UUID uuid){
+ return new NormalFormExpressionImpl(uuid, focusConcepts);
+ }
+}
=======================================
--- /dev/null
+++
/trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/src/test/resources/uk/nhs/cfh/dsp/snomed/expression/model/impl/SnomedExpressionFactoryImplTest.java
Fri Mar 18 04:42:19 2011
@@ -0,0 +1,87 @@
+package uk.nhs.cfh.dsp.snomed.expression.model.impl;
+
+import junit.framework.TestCase;
+import uk.nhs.cfh.dsp.snomed.expression.model.CloseToUserExpression;
+import uk.nhs.cfh.dsp.snomed.expression.model.NormalFormExpression;
+import uk.nhs.cfh.dsp.snomed.expression.model.SnomedExpressionFactory;
+import uk.nhs.cfh.dsp.snomed.objectmodel.SnomedConcept;
+import uk.nhs.cfh.dsp.snomed.objectmodel.impl.SnomedConceptImpl;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.UUID;
+
+/**
+ * A test class for {@link SnomedExpressionFactoryImpl}
+ *
+ * <br>Version : @#VersionNumber#@
+ * <br>Written by @author Jay Kola
+ * <br>Created on 08/03/2011 at 22:14
+ */
+public class SnomedExpressionFactoryImplTest extends TestCase {
+
+ private SnomedConcept concept;
+ private SnomedExpressionFactory expressionFactory;
+ private Collection<SnomedConcept> concepts;
+
+ public void setUp() throws Exception {
+ concept = new SnomedConceptImpl("12345", "Test_Concept");
+ assertNotNull("Concept can not be null", concept);
+ expressionFactory = new SnomedExpressionFactoryImpl();
+ assertNotNull("Expression factory can not be null",
expressionFactory);
+ concepts = new HashSet<SnomedConcept>(2);
+ SnomedConcept concept2 = new
SnomedConceptImpl("9999", "Test_Concept_2");
+ concepts.add(concept);
+ concepts.add(concept2);
+ assertEquals("Concepts collection must contain 2 entries", 2,
concepts.size());
+ }
+
+ public void testGetCloseToUserExpression() throws Exception {
+ CloseToUserExpression ctu =
expressionFactory.getCloseToUserExpression(concept);
+ assertNotNull("CTU can not be null", ctu);
+ assertNotNull("CTU must have a UUID", ctu.getUuid());
+ assertEquals("CTU must have a focus concept with id = " +
concept.getConceptID(), concept.getConceptID(),
ctu.getSingletonFocusConcept().getConceptID());
+ }
+
+ public void testGetCloseToUserExpression2() throws Exception {
+ CloseToUserExpression ctu =
expressionFactory.getCloseToUserExpression(Collections.singleton(concept));
+ assertNotNull("CTU can not be null", ctu);
+ assertNotNull("CTU must have a UUID", ctu.getUuid());
+ assertEquals("CTU must have a focus concept with id
= "+concept.getConceptID(), concept.getConceptID(),
ctu.getSingletonFocusConcept().getConceptID());
+ }
+
+ public void testGetCloseToUserExpression3() throws Exception {
+
+ UUID uuid = UUID.randomUUID();
+ CloseToUserExpression ctu =
expressionFactory.getCloseToUserExpression(Collections.singleton(concept),
uuid);
+ assertNotNull("CTU can not be null", ctu);
+ assertNotNull("CTU must have a UUID", ctu.getUuid());
+ assertEquals("CTU must have a focus concept with id
= "+concept.getConceptID(), concept.getConceptID(),
ctu.getSingletonFocusConcept().getConceptID());
+ assertEquals("UUID must be : "+uuid.toString(), uuid,
ctu.getUuid());
+ }
+
+ public void testGetNormalFormExpression() throws Exception {
+ NormalFormExpression nfe =
expressionFactory.getNormalFormExpression(concept);
+ assertNotNull("NFE can not be null", nfe);
+ assertNotNull("NFE must have a UUID", nfe.getUuid());
+ assertEquals("NFE must have a focus concept with id
= "+concept.getConceptID(), concept.getConceptID(),
nfe.getSingletonFocusConcept().getConceptID());
+ }
+
+ public void testGetNormalFormExpression2() throws Exception {
+ NormalFormExpression nfe =
expressionFactory.getNormalFormExpression(Collections.singleton(concept));
+ assertNotNull("NFE can not be null", nfe);
+ assertNotNull("NFE must have a UUID", nfe.getUuid());
+ assertEquals("NFE must have a focus concept with id
= "+concept.getConceptID(), concept.getConceptID(),
nfe.getSingletonFocusConcept().getConceptID());
+ }
+
+ public void testGetNormalFormExpression3() throws Exception {
+
+ UUID uuid = UUID.randomUUID();
+ NormalFormExpression nfe =
expressionFactory.getNormalFormExpression(Collections.singleton(concept),
uuid);
+ assertNotNull("NFE can not be null", nfe);
+ assertNotNull("NFE must have a UUID", nfe.getUuid());
+ assertEquals("NFE must have a focus concept with id
= "+concept.getConceptID(), concept.getConceptID(),
nfe.getSingletonFocusConcept().getConceptID());
+ assertEquals("UUID must be : "+uuid.toString(), uuid,
nfe.getUuid());
+ }
+}
=======================================
--- /trunk/snomed-osgi/pom.xml Fri Jan 28 09:18:57 2011
+++ /trunk/snomed-osgi/pom.xml Fri Mar 18 04:42:19 2011
@@ -241,7 +241,7 @@
</plugin>
</plugins>
</build>
-<distributionManagement>
+ <distributionManagement>
<repository>
<id>googlecode.snofyre.releaserepo</id>
<url>dav:https://snofyre.googlecode.com/svn/maven-repo/releases</url>
=======================================
--- /trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/pom.xml Fri
Jan 28 09:18:57 2011
+++ /trunk/snomed-osgi/uk.nhs.cfh.dsp.snomed.expression.model/pom.xml Fri
Mar 18 04:42:19 2011
@@ -48,121 +48,121 @@
<artifactId>com.springsource.org.junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
-
<artifactId>com.springsource.org.apache.commons.configuration</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
-
<artifactId>com.springsource.org.apache.commons.dbcp</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
-
<artifactId>com.springsource.org.apache.commons.pool</artifactId>
- <scope>test</scope>
- </dependency>
+ <!--<dependency>-->
+ <!--<groupId>org.apache.commons</groupId>-->
+
<!--<artifactId>com.springsource.org.apache.commons.configuration</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.apache.commons</groupId>-->
+
<!--<artifactId>com.springsource.org.apache.commons.dbcp</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.apache.commons</groupId>-->
+
<!--<artifactId>com.springsource.org.apache.commons.pool</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.logging</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>com.mysql.jdbc</groupId>
- <artifactId>com.springsource.com.mysql.jdbc</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>com.springsource.org.hsqldb</artifactId>
- <scope>test</scope>
- </dependency>
+ <!--<dependency>-->
+ <!--<groupId>com.mysql.jdbc</groupId>-->
+ <!--<artifactId>com.springsource.com.mysql.jdbc</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.hsqldb</groupId>-->
+ <!--<artifactId>com.springsource.org.hsqldb</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
<dependency>
<groupId>com.google.collect</groupId>
<artifactId>com.springsource.com.google.common.collect</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>com.springsource.javax.persistence</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>com.springsource.org.hibernate</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
-
<artifactId>com.springsource.org.hibernate.annotations</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
-
<artifactId>com.springsource.org.hibernate.annotations.common</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>com.springsource.org.hibernate.ejb</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>com.springsource.antlr</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.javassist</groupId>
- <artifactId>com.springsource.javassist</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.cglib</groupId>
- <artifactId>com.springsource.net.sf.cglib</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
-
<artifactId>com.springsource.org.apache.commons.collections</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.dom4j</groupId>
- <artifactId>com.springsource.org.dom4j</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>com.springsource.javax.xml.stream</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jgroups</groupId>
- <artifactId>com.springsource.org.jgroups</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.objectweb.asm</groupId>
- <artifactId>com.springsource.org.objectweb.asm</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>com.springsource.slf4j.api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>com.springsource.slf4j.jcl</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>com.springsource.javax.transaction</artifactId>
- <scope>test</scope>
- </dependency>
+ <!--<dependency>-->
+ <!--<groupId>javax.persistence</groupId>-->
+
<!--<artifactId>com.springsource.javax.persistence</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.hibernate</groupId>-->
+ <!--<artifactId>com.springsource.org.hibernate</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.hibernate</groupId>-->
+
<!--<artifactId>com.springsource.org.hibernate.annotations</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.hibernate</groupId>-->
+
<!--<artifactId>com.springsource.org.hibernate.annotations.common</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.hibernate</groupId>-->
+
<!--<artifactId>com.springsource.org.hibernate.ejb</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.antlr</groupId>-->
+ <!--<artifactId>com.springsource.antlr</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.jboss.javassist</groupId>-->
+ <!--<artifactId>com.springsource.javassist</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>net.sourceforge.cglib</groupId>-->
+ <!--<artifactId>com.springsource.net.sf.cglib</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.apache.commons</groupId>-->
+
<!--<artifactId>com.springsource.org.apache.commons.collections</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.dom4j</groupId>-->
+ <!--<artifactId>com.springsource.org.dom4j</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>javax.xml.stream</groupId>-->
+
<!--<artifactId>com.springsource.javax.xml.stream</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.jgroups</groupId>-->
+ <!--<artifactId>com.springsource.org.jgroups</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.objectweb.asm</groupId>-->
+
<!--<artifactId>com.springsource.org.objectweb.asm</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.slf4j</groupId>-->
+ <!--<artifactId>com.springsource.slf4j.api</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>org.slf4j</groupId>-->
+ <!--<artifactId>com.springsource.slf4j.jcl</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+ <!--<dependency>-->
+ <!--<groupId>javax.transaction</groupId>-->
+
<!--<artifactId>com.springsource.javax.transaction</artifactId>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
<dependency>
<groupId>uk.nhs.cfh.dsp.snomed</groupId>
<artifactId>uk.nhs.cfh.dsp.snomed.objectmodel</artifactId>