Bonjour ,
je en suis en train de faire une application en utilisant les frameworks jsf , spring , hibernate à la base de spécification JPA , et comme SGCD Oracle 9i
Pour tester si mon code est bien , j'ai utilisé Junit pour les tests unitaires or j'ai le problèeme suivant mais j'ai pas compris la source si vous pouvez m'aider !
Le code source est :
L'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156 package catalogue.junit; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; import java.util.logging.FileHandler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestCriteria { private static CatalogueVendeurService Service; private static EntityManagerFactory entityManagerFactory; private static EntityManager entityManager; @BeforeClass public static void setUpBeforeClass() throws Exception { ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( new String[] { "META-INF/spring/applicationContext.xml" }); Service = (CatalogueVendeurService) appContext .getBean("CatalogueVendeurService"); entityManagerFactory = (EntityManagerFactory) appContext .getBean("entityManagerFactory"); entityManager = entityManagerFactory.createEntityManager(); } public static CatalogueVendeurService getService() { return Service; } public static void setService(CatalogueVendeurService service) { Service = service; } @Test public void testCriteria() { try { chargementCatalogue(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void chargementCatalogue() throws Exception, IOException { // TODO Auto-generated method stub Logger logger = Logger.getLogger("CatalogueTest"); FileHandler fh; fh = new FileHandler("c:\\CatalogueCRM.log", true); logger.addHandler(fh); logger.setLevel(Level.ALL); SimpleFormatter formatter = new SimpleFormatter(); fh.setFormatter(formatter); logger.info("*************************** le debut de debug *******************"); MappeToPivot parser = new MappeToPivot("D:\\ImportOfferOGSMPOSTB2C.xml"); parser.go(); logger.info("fichier xml est parsé "); VCatalogueVendeur vcatalogue = new VCatalogueVendeur(); vcatalogue = parser.getCatalogueVendeur(); VOffre voffreMer = new VOffre(); voffreMer = parser.getOffreMere(); logger.info("creation d'un catalogue "); // CatalogueVendeur catalogue = new CatalogueVendeur(); // Offre mère final Offre offreMere = new Offre(); // catalogue catalogue.setIdCatalogue(vcatalogue.getId()); catalogue.setReferentiel(vcatalogue.getReferentiel()); catalogue.setDateMiseAjour(new Date()); catalogue.setType("Tester"); // offre offreMere.setDateCreation(voffreMer.getDateCreation()); offreMere.setDescription(voffreMer.getDescription()); offreMere.setIdOffre(voffreMer.getIdArticle()); offreMere.setNomArticle(voffreMer.getNomArticle()); // la fin d'init catalogue.setOffreMer(offreMere); // l ajout du catalogue dans la base de données temp this.Service.add(catalogue); // la liste des sousoffres List<VSousOffre> vsousOffresObligatoire = new ArrayList<VSousOffre>(); List<VSousOffre> vsousOffresOptionel = new ArrayList<VSousOffre>(); vsousOffresObligatoire = voffreMer.getSousOffreObligatoire(); vsousOffresOptionel = voffreMer.getSousOffreOptionnel(); logger.info("creation des sous offres "); // ============================================================= logger.info("la taille de la liste des sous offres obligatoires " + vsousOffresObligatoire.size()); logger.info("la taille de la liste des sous offres optionnelles " + vsousOffresOptionel.size()); System.out.println("la liste des sous offres " + (vsousOffresObligatoire.size() + vsousOffresOptionel.size())); // traitement de la liste des sousoffres optionnelles if(vsousOffresOptionel.size()>0){ System.out.println("vsousOffresOptionel>0"); for (int i =0 ; i<vsousOffresOptionel.size() ; i++ ){ SousOffre unsousoffre = new SousOffre(); VSousOffre tempUnsousoffre = new VSousOffre(); tempUnsousoffre= vsousOffresOptionel.get(i); unsousoffre.setDateCreation(tempUnsousoffre.getDateCreation()); unsousoffre.setDescription(tempUnsousoffre.getDescription()); unsousoffre.setIdSousOffre(tempUnsousoffre.getIdArticle()); unsousoffre.setType(tempUnsousoffre.getType()); unsousoffre.setSousOffreOptionnel(offreMere); logger.info("SousOffre N°="+i+"***"+unsousoffre.getIdSousOffre()); logger.info("*****"+i+"***"+tempUnsousoffre.getIdArticle()); this.getService().add(unsousoffre); offreMere.getSousOffreOptionnel().add(unsousoffre); } } } // --------------------------------------------------------------------- public static EntityManagerFactory getEntityManagerFactory() { return entityManagerFactory; } public static EntityManager getEntityManager() { return entityManager; } public static void setEntityManagerFactory( EntityManagerFactory entityManagerFactory) { TestCriteria.entityManagerFactory = entityManagerFactory; } public static void setEntityManager(EntityManager entityManager) { TestCriteria.entityManager = entityManager; } }
Mais j'arrive à connecter à mon application via un login et password càd la connexion avec oracle ca marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 38814 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 17002, SQLState: null 38814 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4)))) org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:382) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy37.add(Unknown Source) at ma.bull.crm.catalogue.junit._TestCriteria.chargementCatalogue(_TestCriteria.java:231) at ma.bull.crm.catalogue.junit._TestCriteria.testCriteria(_TestCriteria.java:73) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.runners.ParentRunner.run(ParentRunner.java:292) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148) at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1225) at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:63) at org.springframework.orm.jpa.DefaultJpaDialect.beginTransaction(DefaultJpaDialect.java:70) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.beginTransaction(HibernateJpaDialect.java:57) at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:332) ... 32 more Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160) at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473) at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:60) ... 35 more Caused by: java.sql.SQLException: Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334) at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668) at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351) at java.sql.DriverManager.getConnection(DriverManager.java:579) at java.sql.DriverManager.getConnection(DriverManager.java:190) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149) at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119) at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:71) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) ... 40 more
Partager