Projekt

Obecné

Profil

« Předchozí | Další » 

Revize a98f44ed

Přidáno uživatelem Tomáš Šimandl před více než 6 roky(ů)

Removed TABLE 'log' from database

Zobrazit rozdíly:

sources/create_table.sql
38 38

  
39 39
-- --------------------------------------------------------
40 40

  
41
--
42
-- Struktura tabulky `log`
43
--
44

  
45
CREATE TABLE IF NOT EXISTS `log` (
46
  `id` int(11) NOT NULL,
47
  `id_user` int(11) NOT NULL,
48
  `user_name` varchar(10) COLLATE utf8_czech_ci NOT NULL,
49
  `id_diagram` int(11) NOT NULL,
50
  `event` varchar(10) COLLATE utf8_czech_ci NOT NULL,
51
  `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
52
  `date_delay` datetime DEFAULT NULL,
53
  `change_jar` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL,
54
  `new_version` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL
55
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
56

  
57
-- --------------------------------------------------------
58

  
59 41
--
60 42
-- Struktura tabulky `user`
61 43
--
......
82 64
ALTER TABLE `diagram`
83 65
  ADD PRIMARY KEY (`id`);
84 66

  
85
--
86
-- Klíče pro tabulku `log`
87
--
88
ALTER TABLE `log`
89
  ADD PRIMARY KEY (`id`);
90

  
91 67
--
92 68
-- Klíče pro tabulku `user`
93 69
--
......
104 80
ALTER TABLE `diagram`
105 81
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
106 82
--
107
-- AUTO_INCREMENT pro tabulku `log`
108
--
109
ALTER TABLE `log`
110
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
111
--
112 83
-- AUTO_INCREMENT pro tabulku `user`
113 84
--
114 85
ALTER TABLE `user`
sources/src/main/java/cz/zcu/kiv/offscreen/user/Log.java
1
package cz.zcu.kiv.offscreen.user;
2

  
3
import com.mysql.jdbc.PreparedStatement;
4
import java.sql.Connection;
5
import java.sql.Date;
6
import java.sql.ResultSet;
7
import java.sql.SQLException;
8
import java.sql.Statement;
9
import java.text.SimpleDateFormat;
10
import java.util.*;
11
import java.util.logging.Level;
12
import java.util.logging.Logger;
13

  
14
import javax.servlet.ServletContext;
15

  
16
/**
17
 * Class is usefull for saving and loading diagram params from database.
18
 *
19
 * @author Daniel Bureš
20
 *
21
 */
22
public class Log {
23
    private DB db = null;
24
    private int id = 0;
25
    private ResultSet rs;
26

  
27

  
28
    public Log(DB db) {
29
        this(db, 0);
30
    }
31

  
32

  
33
    public Log(DB db, int id) {
34
        this.db = db;
35
        this.id = id;
36
    }
37

  
38
    /**
39
     * Method returns object id.
40
     *
41
     * @return id
42
     */
43
    public int getId() {
44
        return this.id;
45
    }
46

  
47
    /**
48
     * Method returns id of object as string.
49
     *
50
     * @return
51
     */
52
    public String getIdStr() {
53
        return Integer.toString(this.id);
54
    }
55

  
56

  
57
    public int createLog(Map<String, String> param) {
58
        String idUser = param.get("user_id");
59
        String idDiagram = param.get("id_diagram");
60
        String event = param.get("log_event");
61
        String delay = param.get("log_date_delay");
62
        String jar = param.get("change_jar");
63
        String userName = param.get("user_name");
64
        String newVersion = param.get("new_version");
65
        Connection con = db.getConn();
66
        PreparedStatement pstmt;
67
        try {
68
            pstmt = (PreparedStatement) con.prepareStatement("INSERT INTO log(id_user,user_name,id_diagram,event,date,date_delay,change_jar,new_version) VALUES "+
69
                    "(?,?,?,?,?,?,?,?)");
70
            pstmt.setInt(1,Integer.parseInt(idUser));
71
            pstmt.setString(2,userName);
72
            pstmt.setInt(3,Integer.parseInt(idDiagram));
73
            pstmt.setString(4,event);
74
            Date date2 = new Date(System.currentTimeMillis());
75
            pstmt.setDate(5,date2);
76
            Date date=null;
77
            if(delay!=null){
78
               date = new Date(Integer.parseInt(delay));
79
            }
80
            pstmt.setDate(6,date);
81
            pstmt.setString(7,jar);
82
            pstmt.setString(8,newVersion);
83
            return pstmt.executeUpdate();
84
        } catch (SQLException ex) {
85
            Logger.getLogger(Log.class.getName()).log(Level.SEVERE, null, ex);
86
            return -1;
87
        }
88

  
89
            
90
//        return db.exStatement(qy);
91
    }
92
    public List<Map<String,String>> readLogs(int idDiagram){
93
        List<Map<String,String>> diagram_list = new ArrayList<Map<String,String>>();
94
        String qy = "SELECT * FROM log WHERE id_diagram = '"+idDiagram+"' ORDER BY date ASC ";
95
        try {
96
            rs = db.exQuery(qy);
97
            while ( rs != null && rs.next() ) {
98
                HashMap<String, String> item_map = new HashMap<String, String>();
99
                item_map.put("id", String.valueOf(rs.getInt("id")));
100
                item_map.put("user_id", String.valueOf(rs.getInt("id_user")));
101
                item_map.put("user_name", String.valueOf(rs.getString("user_name")) );
102
                item_map.put("diagram_id", String.valueOf(rs.getInt("id_diagram")) );
103
                item_map.put("log_date", Util.formatDate(rs.getString("date")) );
104
                item_map.put("log_event", String.valueOf(rs.getString("event")) );
105
                String str = String.valueOf(rs.getString("date_delay"));
106
                if(str!=null) str = Util.formatDate(str);
107
                item_map.put("log_date_delay", str);
108
                item_map.put("change_jar", rs.getString("change_jar"));
109
                item_map.put("new_version", String.valueOf(rs.getString("new_version") ) );
110
                diagram_list.add(item_map);
111
            }
112

  
113
        } catch (SQLException e) {
114

  
115
            e.printStackTrace();
116
        }
117

  
118
        return diagram_list;
119

  
120
    }
121
}

Také k dispozici: Unified diff