package org.compass.core.test.uid;
import org.compass.core.CompassSession;
import org.compass.core.CompassTransaction;
import org.compass.core.Resource;
import org.compass.core.spi.InternalResource;
import org.compass.core.test.AbstractTestCase;
/**
* @author kimchy
*/
public class SimpleUIDTests extends AbstractTestCase {
protected String[] getMappings() {
return new String[]{"uid/mapping.cpm.xml"};
}
public void testSingleId() throws Exception {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
A a = new A();
a.id1 = 1;
a.id2 = 2;
session.save("a1", a);
Resource resource = session.loadResource("a1", 1);
assertEquals("a1#1#", resource.getUID());
// also check that the actual id is stored in the resource
assertEquals("a1#1#", resource.getValue( ((InternalResource) resource).getResourceKey().getResourceMapping().getUIDPath() ));
tr.commit();
session.close();
}
public void testMultilpeId() throws Exception {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
A a = new A();
a.id1 = 1;
a.id2 = 2;
session.save("a2", a);
Resource resource = session.loadResource("a2", 1, 2);
assertEquals("a2#1#2#", resource.getUID());
// also check that the actual id is stored in the resource
assertEquals("a2#1#2#", resource.getValue( ((InternalResource) resource).getResourceKey().getResourceMapping().getUIDPath() ));
tr.commit();
session.close();
}
}