import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; public class ImageManager { /* * Input: Username Output: An array consisting of a list of Image_ID, * Image_Name and Image_Description for the user identified by username It * can be accessed by a for loop until end of array with value at i, i+1 and * i+2 representing the ImageID, name and description respectively for each * image */ public static ArrayList<OBAEntry> getData(String username) { ResultSet rs = null, rs1 = null, rs2 = null; ArrayList<OBAEntry> obaEntryList = new ArrayList<OBAEntry>(); int count = 0; try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager .getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); DatabaseMetaData dbm = conn.getMetaData(); rs1 = dbm.getTables(null, null, "image", null); if (rs1.next()) { rs2 = stat .executeQuery("select COUNT(*) from image where user_name='" + username + "';"); while (rs2.next()) { count = rs2.getInt(1); } rs = stat.executeQuery("select * from image where user_name='" + username + "';"); if (rs == null) return null; else { while (rs.next()) { obaEntryList.add(new OBAEntry(rs.getInt("image_id"), rs .getString("image_name"), rs .getString("image_desc"), rs .getInt("login_mode"))); } } } rs1.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } return obaEntryList; } /* * Input: Username, ImageID, ImageName, ImageDesc Output: Nothing Stores the * details into the Image table */ public static void storeData(String username, int imageId, String imageName, String imageDesc, int login_mode) { try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager .getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); DatabaseMetaData dbm = conn.getMetaData(); ResultSet rs1 = dbm.getTables(null, null, "image", null); if (!rs1.next()) { stat.executeUpdate("create table image (user_name VARCHAR(25) NOT NULL, image_id INTEGER, image_name VARCHAR(100), image_desc TEXT(200), login_mode INTEGER);"); } PreparedStatement prep = conn .prepareStatement("insert into image values (?, ?, ?, ?, ?);"); prep.setString(1, username); prep.setInt(2, imageId); prep.setString(3, imageName); prep.setString(4, imageDesc); prep.setInt(5, login_mode); prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); conn.close(); rs1.close(); } catch (Exception e1) { e1.printStackTrace(); } } }