/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.server.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import javax.swing.tree.DefaultMutableTreeNode; /** * * @author Administrator */ public class Utility { String sourceDirName = ""; public void saveSettings() { ObjectOutputStream saveSettings = null; try { File confDir = new File(System.getProperty("user.dir") + File.separator + "conf"); if (!confDir.exists()) { confDir.mkdir(); } saveSettings = new ObjectOutputStream( new FileOutputStream(confDir.getAbsolutePath() + File.separator + "Config.conf")); SaveSettingsSer saveSettingsSer = new SaveSettingsSer(); saveSettingsSer.setSaveImage(SettingsConstatnts.SAVE_IMAGE); saveSettingsSer.setSizeImagePerc(SettingsConstatnts.SIZE_IMAGE_PERC); saveSettingsSer.setCapturingInrvl(SettingsConstatnts.CAPTURING_INRVL); saveSettingsSer.setSendMail(SettingsConstatnts.SEND_MAIL); saveSettingsSer.setMailSendTo(SettingsConstatnts.MAIL_SEND_TO); saveSettingsSer.setMailServer(SettingsConstatnts.MAIL_SERVER); saveSettingsSer.setMailServerPswd(SettingsConstatnts.MAIL_SERVER_PSWD); saveSettingsSer.setMessages(SettingsConstatnts.messages); saveSettings.writeObject(saveSettingsSer); saveSettings.flush(); } catch (IOException ex) { } finally { try { saveSettings.close(); } catch (IOException ex) { } } } public void loadSettings() throws IOException, ClassNotFoundException { File settingsFile = new File(System.getProperty("user.dir") + File.separator + "conf" + File.separator + "Config.conf"); if (settingsFile.exists()) { ObjectInputStream readSettings = new ObjectInputStream( new FileInputStream(settingsFile)); SaveSettingsSer saveSettingsSer = (SaveSettingsSer) readSettings.readObject(); SettingsConstatnts.SAVE_IMAGE = saveSettingsSer.isSaveImage(); SettingsConstatnts.SIZE_IMAGE_PERC = saveSettingsSer.getSizeImagePerc(); SettingsConstatnts.CAPTURING_INRVL = saveSettingsSer.getCapturingInrvl(); SettingsConstatnts.SEND_MAIL = saveSettingsSer.isSendMail(); SettingsConstatnts.MAIL_SEND_TO = saveSettingsSer.getMailSendTo(); SettingsConstatnts.MAIL_SERVER = saveSettingsSer.getMailServer(); SettingsConstatnts.MAIL_SERVER_PSWD = saveSettingsSer.getMailServerPswd(); SettingsConstatnts.messages = saveSettingsSer.getMessages(); } } public String getCurrentDate(String formate) { Calendar calendar = Calendar.getInstance(); if (formate.equalsIgnoreCase("dd-mm-yyyy")) { return (calendar.get(Calendar.DAY_OF_MONTH)) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + (calendar.get(Calendar.YEAR)); } else { return ""; } } public String getTime() { return "" + (new Date().getTime()); } public void addTreeNodeForHistory(DefaultMutableTreeNode history) { history.removeAllChildren(); File imageDir = new File(System.getProperty("user.dir") + File.separator + "Desktop Images"); if (imageDir.exists()) { File[] clientDirs = imageDir.listFiles(); for (int i = 0; i < clientDirs.length; i++) { String clientIp = clientDirs[i].getName(); File[] dateDir = clientDirs[i].listFiles(); DefaultMutableTreeNode clientNode = new DefaultMutableTreeNode(clientIp); history.add(clientNode); for (int j = 0; j < dateDir.length; j++) { String date = dateDir[j].getName(); if (dateDir[j].list().length > 0) { DefaultMutableTreeNode dateNode = new DefaultMutableTreeNode(date); clientNode.add(dateNode); } } } } } public void addTreeNodeForBackup(DefaultMutableTreeNode backup) { File imageDir = new File(System.getProperty("user.dir") + File.separator + SettingsConstatnts.BACKUP_DIR); if (imageDir.exists()) { File[] clientDirs = imageDir.listFiles(); for (int i = 0; i < clientDirs.length; i++) { String clientIp = clientDirs[i].getName(); DefaultMutableTreeNode clientNode = new DefaultMutableTreeNode(clientIp); backup.add(clientNode); File[] dateDir = clientDirs[i].listFiles(); for (int j = 0; j < dateDir.length; j++) { String date = dateDir[j].getName(); if (dateDir[j].list().length > 0) { DefaultMutableTreeNode dateNode = new DefaultMutableTreeNode(date); clientNode.add(dateNode); } } } } } public String getDate(Date time) { SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); return dateFormat.format(time); } public String getTime(Date time) { SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm:ss a"); return dateFormat.format(time); } public void getDirName(String string, String systemDirName) { } public String getImageDir(DefaultMutableTreeNode selectedNode) { if (selectedNode.getLevel() == 2) { String ipAddress = (String) selectedNode.getUserObject(); DefaultMutableTreeNode parant = (DefaultMutableTreeNode) selectedNode.getParent(); if (((String) parant.getUserObject()).equals("View History")) { return System.getProperty("user.dir") + File.separator + SettingsConstatnts.IMG_DIR + File.separator + ipAddress; } else { return System.getProperty("user.dir") + File.separator + SettingsConstatnts.BACKUP_DIR + File.separator + ipAddress; } } else { String date = (String) selectedNode.getUserObject(); DefaultMutableTreeNode parantIp = (DefaultMutableTreeNode) selectedNode.getParent(); String ipAddress = (String) parantIp.getUserObject(); DefaultMutableTreeNode parant = (DefaultMutableTreeNode) parantIp.getParent(); if (((String) parant.getUserObject()).equals("View History")) { return System.getProperty("user.dir") + File.separator + SettingsConstatnts.IMG_DIR + File.separator + ipAddress + File.separator + date; } else { return System.getProperty("user.dir") + File.separator + SettingsConstatnts.BACKUP_DIR + File.separator + ipAddress + File.separator + date; } } } public File zip(boolean firstTime, File source, ZipOutputStream zipOut) throws IOException { if (firstTime) { if (!source.exists()) { return null; } sourceDirName = source.getName(); } if (source.isDirectory()) { File[] entries = source.listFiles(); if (entries.length == 0) { // System.out.println(getRelativePath(source.getPath(), sourceDirName) + "\\"); // ZipEntry entry = new ZipEntry(getRelativePath(source.getPath(), // sourceDirName) + "/"); // zipOut.putNextEntry(entry); source.delete(); } else { for (int i = 0; i < entries.length; i++) { zip(false, entries[i], zipOut); } } } else { String relativePath = getRelativePath(source.getPath(), sourceDirName); System.out.println(relativePath); ZipEntry entry = new ZipEntry(relativePath); zipOut.putNextEntry(entry); FileInputStream fileIS = new FileInputStream(source); byte[] readData = new byte[1024]; int readBytes = -1; while ((readBytes = fileIS.read(readData)) != -1) { zipOut.write(readData, 0, readBytes); } zipOut.flush(); fileIS.close(); source.deleteOnExit(); } return null; } private String getRelativePath(String path, String sourceFileName) { return path.substring(path.indexOf(sourceFileName)); } public void clearHistory(File dir) { if (dir != null && dir.exists() && dir.isDirectory()) { File[] subDirs = dir.listFiles(); for (int i = 0; subDirs != null && i < subDirs.length; i++) { clearHistory(subDirs[i]); } dir.delete(); } else if (dir != null && dir.exists() && dir.isFile()) { dir.delete(); } } }