// On teste un preparestatement mappé sur un type statique (Class famille) @Test public void testSelectObject() throws Exception { // On crée les données createDatas(); // ---- final Domain domain = Home.getDefinitionSpace().resolve("DO_DT_MOVIE_DTO", Domain.class); final SqlQueryResult result = executeQuery(domain, "select * from movie where id=1"); Assert.assertEquals(1, result.getSQLRowCount()); final Movie movie = (Movie) result.getValue(); Assert.assertEquals("citizen kane", movie.getTitle()); }
/** * Permet pour les types composites (Beans et collections de beans) de connaitre leur définition. * Ne peut pas être appelé pour des types primitifs. (ex : BigDecimal, String....) Fonctionne * uniquement avec les domaines de type DtList et DtObject. * * @return dtDefinition des domaines de type DtList et DtObject. */ public DtDefinition getDtDefinition() { if (dtDefinitionName == null) { // On fournit un message d'erreur explicite if (getDataType().isPrimitive()) { throw new RuntimeException("Le domain " + getName() + " n'est ni un DTO ni une DTC"); } throw new RuntimeException( "Le domain " + getName() + " est un DTO/DTC mais typé de façon dynamique donc sans DtDefinition."); } return Home.getDefinitionSpace().resolve(dtDefinitionName, DtDefinition.class); }
// On teste un preparestatement mappé sur un type statique (Class famille) @Test public void testSelectList() throws Exception { // On crée les données createDatas(); // ---- final Domain domain = Home.getDefinitionSpace().resolve("DO_DT_MOVIE_DTC", Domain.class); final SqlQueryResult result = executeQuery(domain, "select * from movie"); Assert.assertEquals(3, result.getSQLRowCount()); final DtList<Movie> movies = (DtList<Movie>) result.getValue(); Assert.assertEquals(3, movies.size()); for (final Movie movie : movies) { final long id = movie.getId(); final String title = movie.getTitle(); checkTitle(id, title); } }