package org.compass.annotations.test.component.prefix.deep2;
import org.compass.annotations.test.AbstractAnnotationsTestCase;
import org.compass.core.CompassSession;
import org.compass.core.CompassTransaction;
import org.compass.core.Resource;
import org.compass.core.config.CompassConfiguration;
import org.compass.core.config.CompassEnvironment;
import org.compass.core.config.CompassSettings;
/**
* @author kimchy
*/
public class Deep2PrefixNoUnmarshallTests extends AbstractAnnotationsTestCase {
@Override
protected void addSettings(CompassSettings settings) {
settings.setBooleanSetting(CompassEnvironment.Osem.SUPPORT_UNMARSHALL, false);
}
@Override
protected void addExtraConf(CompassConfiguration conf) {
conf.addClass(Customer.class).addClass(Item.class).addClass(Order.class).addClass(WishList.class);
}
public void testDeepPrefixComponent() {
CompassSession session = openSession();
CompassTransaction tr = session.beginTransaction();
Customer customer = new Customer(1, "Jon Doe");
Order order = customer.addOrder(1, "order 1");
order.addItem(1, "item 1");
order.addItem(2, "item 2");
order = customer.addOrder(2, "order 2");
order.addItem(3, "item 3");
order.addItem(4, "item 4");
WishList wishList = customer.addWishList(1, "wish list 1");
wishList.addItem(5, "item 5");
wishList.addItem(6, "item 6");
wishList = customer.addWishList(2, "wish list 2");
wishList.addItem(7, "item 7");
wishList.addItem(8, "item 8");
session.save(customer);
Resource resource = session.loadResource(Customer.class, 1);
assertEquals(4, resource.getProperties("order_itemName").length);
assertEquals(0, resource.getProperties("order_order_itemName").length);
assertEquals(4, resource.getProperties("wishlist_itemName").length);
assertEquals(0, resource.getProperties("wishlist_wishlist_itemName").length);
tr.commit();
session.close();
}
}