@Override public T toValue(String id) { Session session = sessionFactory.getCurrentSession(); boolean close = session == null; if (session == null) { session = sessionFactory.openSession(); } try { return session.getById(id, cl); } finally { if (close) { session.close(); } } } };
@Test public void Write() { Project project = new Project(); project.dates = new HashMap<UID, LocalDate>(); project.dates.put(_created, CREATED); project.dates.put(_deadline, DEADLINE); session.save(project); session.clear(); Project project2 = session.getById(project.id, Project.class); assertEquals(project.dates, project2.dates); }
@Test public void SimpleDelete() { DeleteTest dtest = new DeleteTest(); dtest.name = "dtest"; session.save(dtest); newSession(); DeleteTest tmp = dtest; dtest = session.getById(dtest.id, DeleteTest.class); assertNotSame(tmp, dtest); assertEquals("dtest", dtest.name); session.delete(dtest); assertNull(session.getById(dtest.id, DeleteTest.class)); newSession(); assertNull(session.getById(dtest.id, DeleteTest.class)); }
@Test public void test() { Repository repository = new MiniRepository(); Session session = SessionUtil.openSession(repository, Identifiable.class, Elements.class, Element.class, LinkElement.class, TextElement.class); Elements elements = new Elements(); elements.elements = Arrays.<Element> asList(new LinkElement(), new TextElement()); session.save(elements); session.clear(); Elements other = session.getById(elements.id, Elements.class); assertEquals(elements.elements.size(), other.elements.size()); assertNotNull(other.elements.get(0)); assertNotNull(other.elements.get(1)); }
@Test public void SimpleDeleteResource() { DeleteTest dtest = new DeleteTest(); dtest.name = "dtest"; session.save(dtest); newSession(); DeleteTest tmp = dtest; dtest = session.getById(dtest.id, DeleteTest.class); assertNotSame(tmp, dtest); assertEquals("dtest", dtest.name); session.delete(DeleteTest.class, session.getId(dtest)); assertNull(session.getById(dtest.id, DeleteTest.class)); newSession(); assertNull(session.getById(dtest.id, DeleteTest.class)); }
@Test public void List_populates_Cache() { Session session = SessionUtil.openSession(Example.class); Example example1 = new Example(); Example example2 = new Example(); session.saveAll(example1, example2); session.clear(); Example var = Alias.alias(Example.class); List<Example> examples = session.from($(var)).list($(var)); assertTrue(examples.contains(session.getById(example1.id, Example.class))); assertTrue(examples.contains(session.getById(example2.id, Example.class))); }
dtest1 = session.getById(id1, DeleteTest.class); dtest2 = dtest1.listReference.get(0); assertEquals(id2, dtest2.id); assertNull(session.getById(id1, DeleteTest.class)); assertNull(session.getById(id1, DeleteTest.class)); dtest2 = session.getById(id2, DeleteTest.class); assertNotNull(dtest2); assertNull(dtest2.listReference.get(0));
@Test public void Query() throws IOException { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addClass(TEST.NS, Person.class).addId("id").addProperties(); builder.addClass(new UID(TEST.NS, "Dept"), Department.class).addId("id").addProperties(); builder.addClass(TEST.NS, Company.class).addId("id").addProperties(); Configuration configuration = builder.build(); Session session = SessionUtil.openSession(new MiniRepository(), Collections.<Locale> emptySet(), configuration); Person person = new Person(); person.firstName = "Bob"; person.lastName = "Smith"; session.save(person); session.clear(); // getById Person other = session.getById(person.id, Person.class); assertNotNull(other.id); assertEquals(person.firstName, other.firstName); assertEquals(person.lastName, other.lastName); // query PathBuilder<Person> personPath = new PathBuilderFactory().create(Person.class); assertEquals(other, session.from(personPath).where(personPath.getString("firstName").eq("Bob")).uniqueResult(personPath)); assertEquals(other, session.from(personPath).where(personPath.getString("lastName").eq("Smith")).uniqueResult(personPath)); // list assertEquals(1, session.from(personPath).list(personPath).size()); // findInstances assertEquals(1, session.findInstances(Person.class).size()); session.close(); }