source: ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/persistance/jdbc/GrilleTestjdbc.java @ 68

Last change on this file since 68 was 68, checked in by cbipsl, 14 years ago

commit v1 eccad

  • Property svn:executable set to *
File size: 1.8 KB
RevLine 
[68]1package org.medias.eccad.persistance.jdbc;
2
3import java.sql.Connection;
4import java.sql.SQLException;
5
6import org.medias.eccad.helpers.Donnees;
7import org.medias.eccad.persistance.dao.GrilleDAO;
8import org.medias.eccad.persistance.exception.PersistanceException;
9import org.postgresql.largeobject.LargeObject;
10import org.postgresql.largeobject.LargeObjectManager;
11
12public class GrilleTestjdbc extends GrilleDAOjdbc implements GrilleDAO {
13        private Connection conn;
14       
15        public void connection() throws PersistanceException {
16                 conn = getConnection();
17        }
18       
19        public void disconnect() {
20                closeConnection();
21        }
22       
23        public float[][] getGrilleValue(int oid) throws PersistanceException {
24                LargeObjectManager lobj = null;
25                LargeObject objet_donnees = null;
26
27                /**
28                 * retour en cas d'erreur
29                 */
30                if (oid == -1) {
31                        float[][] tab_vide = new float[Donnees.LIGNE][Donnees.COLONNE];
32                        for (int i=0; i<Donnees.LIGNE; i++)
33                                for (int j=0; j<Donnees.COLONNE; j++)
34                                        tab_vide[i][j] = 0;
35                        return tab_vide;
36                }
37                       
38                float[][] tab_valeur = new float[Donnees.LIGNE][Donnees.COLONNE];
39                float valeur = -1;
40                int i=0;
41               
42                try {
43                        lobj = ((org.postgresql.PGConnection)conn).getLargeObjectAPI();
44                } catch (SQLException e) {e.printStackTrace(); return null;}
45                 
46                try {
47                        objet_donnees = lobj.open(oid); 
48                } 
49                catch (SQLException e) {
50                        closeConnection();
51                        throw new PersistanceException(e, "erreur recuperation large object");
52                }
53
54                byte[] b;
55               
56                for (i=0; i<Donnees.LIGNE; i++) {
57                       
58                        try {
59                               
60                                b = objet_donnees.read(Donnees.COLONNE*4);
61                               
62                                for (int j=0; j<Donnees.COLONNE*4; j+=4) {
63                                        valeur = arr2float(b, j);
64                                        tab_valeur[i][j/4] = valeur;
65                                }
66                        } 
67                        catch (SQLException e) {
68                                closeConnection();
69                                throw new PersistanceException(e, "erreur lecture large object");
70                        }
71                }
72               
73                return null;
74        }
75
76}
Note: See TracBrowser for help on using the repository browser.