pour Entity, 2 namespace (referentiel et gvideo) qui contiennent des classes
pour SOA, 1 seul namespace (gvideo) qui regroupe l'ensemble des entités (via DTO from Entity)
on a un Component gestionVideo qui contient un service provided (serie) qui lui même contient une opération (findSerie)
Lors de la générations SOA on se retrouve avec :
des service pour chaque DTO dans le package[nomProject].business.api.gvideo et donc un Service se nommant SerieService
un service dans le package [nomProject].business.api.gestionvideo pour le service provided serie qui se nonne SerieService
dans le package de test[nomProject].business.api.gestionvideoon a une classe SerieServiceTestdont une méthode est en erreur du faite des service SerieServicedans package.
Code de la classe SerieServiceTest
l'erreur se trouve dans la méthode setUpBeforeClass ()au niveau de la récupération du service
package fr.gvideo.business.api.gestionvideo;
// Start of user code for imports
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.fail;
import java.util.List;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import fr.gvideo.business.GvideoUserBusiness;
import fr.gvideo.business.api.gvideo.SerieAttributesEnum;
import fr.gvideo.business.api.gvideo.SerieDto;
import fr.gvideo.matching.GvideoUserMatching;
import fr.gvideo.persistence.GvideoParamPersistence;
import fr.gvideo.persistence.GvideoUserPersistence;
import fr.spi4j.business.dto.DtoUtil;
import fr.spi4j.tua.BeanTester_Abs;
// End of user code
/**
* Classe de test du service 'SerieService'.
* @author safr@n
*/
// Start of user code Annotation for class
// End of user code
public class SerieServiceTest extends BeanTester_Abs
{
/** Le 'UserPersistence' de l'application. */
private static GvideoUserPersistence userPersistence;
/** Le 'SerieService' testé. */
private static SerieService service;
/** L'id du 'SerieDto' stocké en base. */
private static Long crudId;
/**
* Définition du crudId.
* @param crudId
* le crudId
*/
public static void setCrudId (final Long crudId)
{
SerieServiceTest.crudId = crudId;
}
/**
* Méthode d'initialisation de la classe de tests.
*/
@BeforeAll
public static void setUpBeforeClass ()
{
userPersistence = GvideoParamPersistence.getUserPersistence ();
service = GvideoUserBusiness.getSerieService ();
// Start of user code set up before class
// End of user code
}
Au niveau de la classe GvideoUserBusinesson a la méthode initBindingsqui
public void initBindings () // NOPMD
{
// dans cette factory de la partie commune entre un client et le serveur
// on ne référence pas les classes d'implémentations "serveur" des services
// pour ne pas avoir d'erreur de compilation (et pour ne pas avoir ClassNotFoundException à l'exécution)
final EpisodeService episodeService = wrapService(EpisodeService.class, "fr.gvideo.business.server.gvideo.EpisodeServiceImpl");
bind(EpisodeService.class, episodeService);
final GenreService genreService = wrapService(GenreService.class, "fr.gvideo.business.server.gvideo.GenreServiceImpl");
bind(GenreService.class, genreService);
final PaysService paysService = wrapService(PaysService.class, "fr.gvideo.business.server.gvideo.PaysServiceImpl");
bind(PaysService.class, paysService);
final SaisonService saisonService = wrapService(SaisonService.class, "fr.gvideo.business.server.gvideo.SaisonServiceImpl");
bind(SaisonService.class, saisonService);
final SerieService serieService = wrapService(SerieService.class, "fr.gvideo.business.server.gestionvideo.SerieServiceImpl");
bind(SerieService.class, serieService);
}
Mais on a un PB avec son bloc import car on a l'import `fr.gvideo.business.api.gvideo.SerieService `qui va avec `fr.gvideo.business.server.gestionvideo.SerieServiceImpl`
Dans le projet en PJ on a :
serie
) qui lui même contient une opération (findSerie
)Lors de la générations SOA on se retrouve avec :
[nomProject].business.api.gvideo
et donc un Service se nommantSerieService
[nomProject].business.api.gestionvideo
pour le service provided serie qui se nonneSerieService
dans le package de test
[nomProject].business.api.gestionvideo
on a une classeSerieServiceTest
dont une méthode est en erreur du faite des serviceSerieService
dans package. Code de la classeSerieServiceTest
l'erreur se trouve dans la méthodesetUpBeforeClass ()
au niveau de la récupération du serviceAu niveau de la classe
GvideoUserBusiness
on a la méthodeinitBindings
qui// Start of user code for imports
import fr.gvideo.business.api.gvideo.EpisodeService; import fr.gvideo.business.api.gvideo.GenreService; import fr.gvideo.business.api.gvideo.PaysService; import fr.gvideo.business.api.gvideo.SaisonService; import fr.gvideo.business.api.gvideo.SerieService; import fr.spi4j.business.UserBusiness_Abs; import fr.spi4j.exception.Spi4jRuntimeException; import fr.spi4j.persistence.UserPersistence_Abs;
// End of user code