From: <id...@us...> - 2009-02-20 16:34:51
|
Revision: 26 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=26&view=rev Author: idueppe Date: 2009-02-20 16:34:38 +0000 (Fri, 20 Feb 2009) Log Message: ----------- Implement some prototype features Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstance.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObject.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObjectDao.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstanceDao.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAO.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAOJPA.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapper.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapperBean.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstance.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstance.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstance.java 2009-02-20 16:34:38 UTC (rev 26) @@ -19,7 +19,7 @@ @Id @GeneratedValue(strategy=GenerationType.SEQUENCE) @Column(name="ID") - private long id; + private Long id; @Column(name="CLIENT_NAME") private String name; @@ -37,7 +37,7 @@ this.url = url; } - public long getId() { + public Long getId() { return id; } Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstanceDao.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstanceDao.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstanceDao.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,5 @@ +package de.campussource.cse.idmapper; + +public class ClientInstanceDao extends DAOJPA<ClientInstance> { + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstanceDao.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObject.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObject.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObject.java 2009-02-20 16:34:38 UTC (rev 26) @@ -8,6 +8,8 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -15,29 +17,43 @@ import org.apache.commons.lang.builder.ToStringStyle; @Entity -@Table( - name = "IDMAPPER_CLIENT_OBJECT", - uniqueConstraints = @UniqueConstraint(columnNames = { "CLIENT_OBJECT_ID", "CLIENT_INSTANCE_ID" }) +@Table(name = "IDMAPPER_CLIENT_OBJECT", uniqueConstraints = @UniqueConstraint(columnNames = { "CLIENT_OBJECT_ID", + "CLIENT_INSTANCE_ID" })) +@NamedQueries( + value = { + @NamedQuery( + name = "ClientObject.findByBusIdAndInstanceId", + query = "select c from ClientObject c where c.busId=:busId and c.clientInstance.id = :instanceId"), + @NamedQuery( + name = "ClientObject.findByCOIDAndInstanceId", + query = "select c from ClientObject c where c.clientObjectId=:clientObjectId and c.clientInstance.id = :instanceId") + } + + ) public class ClientObject { + public static final String FIND_BY_BUSID_AND_INSTANCEID = "ClientObject.findByBusIdAndInstanceId"; + public static final String FIND_BY_CLIENT_OBJECT_ID_AND_INSTANCEID = "ClientObject.findByCOIDAndInstanceId"; + private static final long serialVersionUID = 8965520237595716111L; @Id - @GeneratedValue(strategy=GenerationType.AUTO) + @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - + @Column(name = "CLIENT_OBJECT_ID", length = 128) private String clientObjectId; @Column(name = "BUS_ID", nullable = false) private Long busId; - @ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH} ) + @ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH }) @JoinColumn(name = "CLIENT_INSTANCE_ID") private ClientInstance clientInstance; - protected ClientObject() {} + protected ClientObject() { + } public ClientObject(long busId, String clientObjectId, ClientInstance clientInstance) { this.busId = busId; @@ -69,7 +85,7 @@ public void setBusId(Long busId) { this.busId = busId; } - + public Long getId() { return id; } @@ -101,11 +117,20 @@ } public String toString() { - return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE) - .append(id) - .append(clientObjectId) - .append(busId) - .append(clientInstance.getName()).toString(); + return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).append(id).append(clientObjectId).append(busId) + .append(clientInstance.getName()).toString(); } + /** + * + * @return the associated InstanceId or null + */ + public Long getInstanceId() { + if (clientInstance != null) { + return clientInstance.getId(); + } else { + return null; + } + } + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObjectDao.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObjectDao.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObjectDao.java 2009-02-20 16:34:38 UTC (rev 26) @@ -1,26 +1,24 @@ package de.campussource.cse.idmapper; import javax.ejb.Stateless; -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; @Stateless -public class ClientObjectDao { +public class ClientObjectDao extends DAOJPA<ClientObject> { - @PersistenceContext - private EntityManager entityManager; - - @TransactionAttribute(TransactionAttributeType.MANDATORY) - public void persist(ClientObject clientObject) { - entityManager.persist(clientObject); + public ClientObject findByBusIdAndInstanceId(Long busId, Long instanceId) { + return (ClientObject) entityManager + .createNamedQuery(ClientObject.FIND_BY_BUSID_AND_INSTANCEID) + .setParameter("busId", busId) + .setParameter("instanceId", instanceId) + .getSingleResult(); } - @TransactionAttribute(TransactionAttributeType.SUPPORTS) - public ClientObject find(final Long id) { - return entityManager.find(ClientObject.class, id); + public ClientObject findByClientObjectIdAndInstanceId(String coid, Long instanceId) { + return (ClientObject) entityManager + .createNamedQuery(ClientObject.FIND_BY_CLIENT_OBJECT_ID_AND_INSTANCEID) + .setParameter("clientObjectId", coid) + .setParameter("instanceId", instanceId) + .getSingleResult(); } - } Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAO.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAO.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAO.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,13 @@ +package de.campussource.cse.idmapper; + +import java.io.Serializable; + +public interface DAO<T> { + + public T find(Serializable id); + + public void persist(T entity); + + public void remove(T entity); + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAOJPA.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAOJPA.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAOJPA.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,42 @@ +package de.campussource.cse.idmapper; + +import java.io.Serializable; +import java.lang.reflect.ParameterizedType; + +import javax.ejb.TransactionAttribute; +import javax.ejb.TransactionAttributeType; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +public abstract class DAOJPA<E> implements DAO<E> { + + @PersistenceContext + protected EntityManager entityManager; + + private Class<E> persistentClass; + + public DAOJPA() { + this.persistentClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + } + + @Override + @TransactionAttribute(TransactionAttributeType.SUPPORTS) + public E find(Serializable id) { + return entityManager.find(persistentClass, id); + } + + @Override + @TransactionAttribute(TransactionAttributeType.MANDATORY) + public void persist(E entity) { + entityManager.persist(entity); + } + + @Override + public void remove(E entity) { + entityManager.remove(entity); + } + + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/DAOJPA.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapper.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapper.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapper.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,26 @@ +package de.campussource.cse.idmapper; + +import java.util.Set; + +import javax.ejb.Remote; + +@Remote +public interface IdMapper { + + public Long toBusId(String clientObjectId, long clientInstanceId); + + public String toClientObjectId(long busId, long clientInstanceId); + + public void persistClientObjectId(String clientObjectId, long clientInstanceId, long busId); + + public void removeClientObjectId(String clientObjectId, long clientInstanceId); + + public void persistClientInstance(ClientInstance clientInstance); + + public void removeClientInstance(ClientInstance clientInstance); + + public ClientInstance findClientInstance(Long instanceId); + + public Set<ClientInstance> listClientInstance(); + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapperBean.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapperBean.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapperBean.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,64 @@ +package de.campussource.cse.idmapper; + +import java.util.Set; + +import javax.ejb.EJB; +import javax.ejb.Stateless; + +@Stateless +public class IdMapperBean implements IdMapper { + + @EJB + private ClientObjectDao objectDao; + + @EJB + private ClientInstanceDao instanceDao; + + @Override + public ClientInstance findClientInstance(Long instanceId) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Set<ClientInstance> listClientInstance() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void persistClientInstance(ClientInstance clientInstance) { + instanceDao.persist(clientInstance); + } + + @Override + public void persistClientObjectId(String clientObjectId, long clientInstanceId, long busId) { + ClientInstance instance = instanceDao.find(clientInstanceId); + ClientObject object = new ClientObject(busId, clientObjectId, instance); + objectDao.persist(object); + } + + @Override + public void removeClientInstance(ClientInstance clientInstance) { + // TODO Auto-generated method stub + + } + + @Override + public void removeClientObjectId(String clientObjectId, long clientInstanceId) { + // TODO Auto-generated method stub + + } + + @Override + public Long toBusId(String clientObjectId, long clientInstanceId) { + return objectDao.findByClientObjectIdAndInstanceId(clientObjectId, clientInstanceId).getBusId(); + } + + @Override + public String toClientObjectId(long busId, long clientInstanceId) { + return objectDao.findByBusIdAndInstanceId(busId, clientInstanceId).getClientObjectId(); + } + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/IdMapperBean.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-02-20 16:34:38 UTC (rev 26) @@ -1,42 +1,103 @@ package de.campussource.cse.idmapper; import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.ejb.EJB; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.PersistenceContext; +import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; public class AbstractPersistentUnitTest { - protected EntityManagerFactory entityManagerFactory; + protected static EntityManagerFactory entityManagerFactory; protected EntityManager entityManager; + @BeforeClass + public static void retrieveEntityManagerFactory() { + entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); + } + @Before public void retrieveEntityManager() { - entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); entityManager = entityManagerFactory.createEntityManager(); } + + @After + public void closeEntity() { + entityManager.close(); + } + + @AfterClass + public static void closeFactory() { + entityManagerFactory.close(); + } - protected void injectPersistenceContext(Object object) { - Field[] fields = object.getClass().getDeclaredFields(); + // FIXME Extract to Util class + private void injectField(Object object, Field field, Object reference) { + boolean accessible = field.isAccessible(); + field.setAccessible(true); + try { + field.set(object, reference); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + field.setAccessible(accessible); + } + + // FIXME Extract to Util class + private Map<String, Object> context = new HashMap<String, Object>(); + + // FIXME Extract to Util class + protected void autowireByType(Object object) { + Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); for (Field field : fields) { if (field.isAnnotationPresent(PersistenceContext.class)) { - field.setAccessible(true); + injectField(object, field, entityManager); + } + if (field.isAnnotationPresent(EJB.class)) { try { - field.set(object, entityManager); - } catch (IllegalArgumentException e) { + Class fieldClass = field.getType(); + Object target = context.get(fieldClass.getName()); + if (target == null) { + target = fieldClass.newInstance(); + autowireByType(target); + context.put(fieldClass.getName(), target); + } + injectField(object, field, target); + } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } - field.setAccessible(false); } } } + // FIXME Extract to Util class + private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { + List<Field> fields = new ArrayList<Field>(); + Class clazz = object.getClass(); + while (clazz != null) { + fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + clazz = clazz.getSuperclass(); + } + + return (Field[]) fields.toArray(new Field[fields.size()]); + } + protected void txBegin() { entityManager.getTransaction().begin(); } @@ -45,4 +106,9 @@ entityManager.getTransaction().commit(); } + protected void commitAndBeginTx() { + txCommit(); + txBegin(); + } + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-02-20 16:34:38 UTC (rev 26) @@ -2,6 +2,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import java.net.MalformedURLException; @@ -9,42 +10,45 @@ import javax.persistence.RollbackException; -import org.junit.After; import org.junit.Before; import org.junit.Test; public class ClientObjectDaoTest extends AbstractPersistentUnitTest { private ClientObjectDao dao; + private ClientObject clientObject; @Before public void setUp() { + clientObject = newClientObject("OPENUSS::COURSE::10", 1L); dao = new ClientObjectDao(); - injectPersistenceContext(dao); + autowireByType(dao); txBegin(); } - @After - public void tearDown() { - entityManager.close(); - entityManagerFactory.close(); + @Test + public void testPersistClientObject() { + dao.persist(clientObject); + assertNotNull(clientObject.getId()); + txCommit(); } - + @Test - public void testCreateClientObject() { - ClientObject clientObject = newClientObject("OPENUSS::COURSE::10", 1L); + public void testPersistDetachedClientObject() { dao.persist(clientObject); assertNotNull(clientObject.getId()); + commitAndBeginTx(); + clientObject.setBusId(20L); + dao.persist(clientObject); txCommit(); + clientObject = dao.find(clientObject.getId()); } @Test public void testFindClientObject() { - ClientObject clientObject = newClientObject("OPENUSS::COURSE::10", 1L); dao.persist(clientObject); assertNotNull(clientObject.getId()); - txCommit(); - txBegin(); + commitAndBeginTx(); ClientObject coid = dao.find(clientObject.getId()); assertEquals(clientObject, coid); } @@ -56,6 +60,49 @@ dao.persist(newClientObject("TEST::COURSE::1", 1L, instance )); txCommit(); } + + @Test + public void testRemoveClientObject() { + dao.persist(clientObject); + assertNotNull(clientObject.getId()); + commitAndBeginTx(); + dao.remove(clientObject); + commitAndBeginTx(); + assertNull(dao.find(clientObject.getId())); + } + + @Test + public void testFindByBusIdAndInstanceId() { + dao.persist(clientObject); + commitAndBeginTx(); + Long busId = clientObject.getBusId(); + Long instanceId = clientObject.getInstanceId(); + ClientObject object = dao.findByBusIdAndInstanceId(busId, instanceId); + assertNotNull(object); + assertEquals(busId, object.getBusId()); + assertEquals(instanceId, object.getInstanceId()); + assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); + } + + @Test(expected=javax.persistence.NoResultException.class) + public void testDoNotFindByBusIsAndInstanceId() { + dao.findByBusIdAndInstanceId(-1L, -1L); + } + + @Test + public void testFindByClientObjectIdAndInstanceId() { + dao.persist(clientObject); + commitAndBeginTx(); + String coid = clientObject.getClientObjectId(); + Long instanceId = clientObject.getInstanceId(); + + ClientObject object = dao.findByClientObjectIdAndInstanceId(coid,instanceId); + assertNotNull(object); + assertEquals(clientObject.getBusId(), object.getBusId()); + assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); + assertEquals(clientObject.getInstanceId(), object.getInstanceId()); + } + private ClientInstance createClientInstance(final String name, final String url) { try { Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java 2009-02-20 16:34:38 UTC (rev 26) @@ -0,0 +1,38 @@ +package de.campussource.cse.idmapper; + +import static org.junit.Assert.assertEquals; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.junit.Before; +import org.junit.Test; + +public class IdMapperBeanTest extends AbstractPersistentUnitTest { + + private IdMapperBean mapper; + + @Before + public void setUp() { + mapper = new IdMapperBean(); + autowireByType(mapper); + txBegin(); + } + + @Test + public void testPersistClientObjectId() throws MalformedURLException { + ClientInstance clientInstance = new ClientInstance("TEST",new URL("http://www.test.de")); + mapper.persistClientInstance(clientInstance); + + Long busId = 20L; + String clientObjectId = "TEST::COURSE::123456"; + commitAndBeginTx(); + + mapper.persistClientObjectId(clientObjectId, clientInstance.getId(), busId); + commitAndBeginTx(); + + assertEquals(clientObjectId, mapper.toClientObjectId(busId, clientInstance.getId())); + assertEquals(busId, mapper.toBusId(clientObjectId, clientInstance.getId())); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-02-20 16:23:43 UTC (rev 25) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-02-20 16:34:38 UTC (rev 26) @@ -15,7 +15,6 @@ public void testConfiguration() { List<ClientInstance> mappings = entityManager.createQuery("SELECT m FROM ClientInstance m").getResultList(); assertNotNull(mappings); - entityManager.close(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |