Index: lams_tool_chat/db/sql/updatescripts/UpdateLAMS202Chat.java =================================================================== diff -u --- lams_tool_chat/db/sql/updatescripts/UpdateLAMS202Chat.java (revision 0) +++ lams_tool_chat/db/sql/updatescripts/UpdateLAMS202Chat.java (revision 0ad15204c3aaa1bbceadf34d634bb61cdbd20532) @@ -0,0 +1,94 @@ +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; + +import java.util.Properties; + +import org.hibernate.Hibernate; +import org.hibernate.id.Configurable; +import org.hibernate.id.IdentifierGenerator; +import org.hibernate.id.UUIDHexGenerator; + +public class UpdateLAMS202Chat { + + private String dbDriverClass; + private String dbDriverUrl; + private String dbUsername; + private String dbPassword; + private String crPath; + + /** + * Dump out a list of all the nodes in the content repository, with their type and expected paths + * @throws Exception + */ + public static void main(String[] args) throws Exception { + UpdateLAMS202Chat me = new UpdateLAMS202Chat(); + String XMPPConference = args[0]; + me.execute(XMPPConference); + } + + public void execute(String XMPPConference) throws Exception { + + dbDriverClass = "com.mysql.jdbc.Driver"; + dbDriverUrl = "jdbc:mysql://localhost/lams_demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useUnicode=true"; + dbUsername = "root"; + dbPassword = "secret4141"; + crPath = "/var/opt/lams/repository"; + + String getChatSessions = "SELECT uid, jabber_room, room_created from tl_lachat11_session"; + + String updateChatSessions = "UPDATE tl_lachat11_session set room_created=?, jabber_room=? where uid=?"; + + Class.forName(dbDriverClass); + Connection conn = DriverManager.getConnection(dbDriverUrl, dbUsername, dbPassword); + conn.setAutoCommit(false); + PreparedStatement stmt = conn.prepareStatement(getChatSessions); + ResultSet results = stmt.executeQuery(); + + PreparedStatement stmtUpdate = conn.prepareStatement(updateChatSessions); + + IdentifierGenerator idGenerator = new UUIDHexGenerator(); + ((Configurable) idGenerator).configure(Hibernate.STRING, + new Properties(), null); + + while (results.next()) + { + Long uid = results.getLong("uid"); + Boolean room_created = results.getBoolean("room_created"); + String jabber_room = results.getString("jabber_room"); + + String set_jabber_room; + Boolean set_room_created; + // checking if jabber_room is null + if (results.wasNull()) { + // tool session was created by the room doesnt exist on the jabber server + // generating a unique jabber room name + set_room_created = false; + set_jabber_room = (String) idGenerator.generate(null, null) + "@" + XMPPConference; + + } else { + // jabber has already been created + set_room_created = true; + set_jabber_room = jabber_room; + } + + stmtUpdate.setBoolean(1, set_room_created); + stmtUpdate.setString(2, set_jabber_room); + stmtUpdate.setLong(3, uid); + stmtUpdate.addBatch(); + + System.out.print(uid + "\t"); + System.out.print(room_created + "\t"); + System.out.print(jabber_room + "\n"); + + } + + int[] upCount = stmtUpdate.executeBatch(); + + conn.commit(); + conn.close(); + } + +} \ No newline at end of file