package org.ets.ibt.utilities.server.cachemanager; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.sql.Timestamp; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.ets.ibt.delivery.server.common.paramdata.AdminData; import org.ets.ibt.delivery.server.common.paramdata.PackageAdminData; import org.ets.ibt.delivery.server.common.paramdata.TestSetAdminData; import org.ets.ibt.delivery.server.model.cache.CacheManager; import org.ets.ibt.delivery.server.model.cache.PackageFileAccessIF; import org.ets.ibt.delivery.server.security.IBTSecurityUtil; import org.ets.ibt.delivery.server.utility.ServerUtility; public class DisplayFilesServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(this.checkPermission()) { String pkgId = request.getParameter("package"); PackageAdminData pkgAdminData = CacheManager.getInstance().getLoadedPackage(pkgId); response.setContentType("text/html; charset=ISO-8859-1"); PrintWriter out = response.getWriter(); out.println(""); out.println("Display Files"); out.println(""); out.println(""); out.println("
"); out.println("
"); out.println(""); out.println(pkgId); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); int count = 0; List fileList = this.getAllFileInfo(pkgAdminData); Iterator var9 = fileList.iterator(); while(var9.hasNext()) { String fileInfo = (String)var9.next(); String bgcolor; if(count % 2 == 0) { bgcolor = "bgcolor=\'#F2F2F2\'"; } else { bgcolor = "bgcolor=\'#DDDDDD\'"; } ++count; String[] s = fileInfo.split("\\|"); out.println(""); bgcolor.println(s[0]); bgcolor.println(s[1]); bgcolor.println(s[2]); bgcolor.println(s[3]); out.println(""); } out.println(""); out.println(""); out.println(pkgAdminData.getFileLocation() == null?"null":pkgAdminData.getFileLocation().getPath()); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("
File NameTimestampSizeDescription
 
- ScoreConfig: [TSS Id, AdminCode.version]
- Test Configuration: [TSS Id, AdminCode, Last Update Timestamp]
- Form Blocking: [TSS Id, Last Update Timestamp]
- ACD Base: [TSS Id, AdminCode]
- ACD: [TSS Id, AdminCode, Admin Start Timestamp, Admin End Timestamp, Version]
"); out.println("
"); out.println("
"); out.println(""); out.flush(); } else { response.getWriter().println("You are not authorized to access this resource"); } } public boolean checkPermission() { return IBTSecurityUtil.hasPermission("ACCSS_CCHE_MNGMNT", new String[]{"level_4_role"}); } public List getAllFileInfo(PackageAdminData pkgAdminData) { ArrayList list = new ArrayList(); DecimalFormat df = new DecimalFormat("#,###,###,###"); PackageFileAccessIF pkgAccess = ServerUtility.getPackageFileAccess(); long divide = 1L; File file; Timestamp testSetId; long testSetAdminData; if(pkgAdminData.getPackageAdminFile() != null) { file = pkgAdminData.getPackageAdminFile(); if(pkgAccess.exists(file)) { testSetId = new Timestamp(pkgAccess.lastModified(file)); testSetAdminData = pkgAccess.getFileSize(file) / divide; pkgAdminData.getPackageAdminFileName(); testSetId.add(df.format(testSetAdminData)); } else { list.add(pkgAdminData.getPackageAdminFileName()); } } if(pkgAdminData.getPackageFile() != null) { file = pkgAdminData.getPackageFile(); if(pkgAccess.exists(file)) { testSetId = new Timestamp(pkgAccess.lastModified(file)); testSetAdminData = pkgAccess.getFileSize(file) / divide; pkgAdminData.getPackageFileName(); testSetId.add(df.format(testSetAdminData)); } else { list.add(pkgAdminData.getPackageFileName()); } } if(pkgAdminData.getContentFile() != null) { file = new File(pkgAdminData.getFileLocation(), pkgAdminData.getContentFile()); if(pkgAccess.exists(file)) { testSetId = new Timestamp(pkgAccess.lastModified(file)); testSetAdminData = pkgAccess.getFileSize(file) / divide; pkgAdminData.getContentFile(); testSetId.add(df.format(testSetAdminData)); } else { list.add(pkgAdminData.getContentFile()); } } if(pkgAdminData.getItemInfoFile() != null) { file = pkgAdminData.getItemInfoFile(); if(pkgAccess.exists(file)) { testSetId = new Timestamp(pkgAccess.lastModified(file)); testSetAdminData = pkgAccess.getFileSize(file) / divide; pkgAdminData.getItemInfoFileName(); testSetId.add(df.format(testSetAdminData)); } else { list.add(pkgAdminData.getItemInfoFileName()); } } if(pkgAdminData.getPackageAdminFile() != null) { Iterator file1 = pkgAdminData.getTestSetIdList(false).iterator(); while(file1.hasNext()) { String testSetId1 = (String)file1.next(); TestSetAdminData testSetAdminData1 = pkgAdminData.getTestSetAdminData(testSetId1); Iterator blockFile = pkgAdminData.getAdminCodeList().iterator(); while(blockFile.hasNext()) { String timestamp = (String)blockFile.next(); AdminData size = pkgAdminData.getAdminData(timestamp); List scvList = testSetAdminData1.getESKMVersion(timestamp); if(!scvList.isEmpty()) { Iterator acdBaseFile = scvList.iterator(); while(acdBaseFile.hasNext()) { String acdFile = (String)acdBaseFile.next(); File timestamp1 = pkgAdminData.getScoreFile(testSetId1, timestamp, acdFile); if(pkgAccess.exists(timestamp1)) { Timestamp size1 = new Timestamp(pkgAccess.lastModified(timestamp1)); long size1 = pkgAccess.getFileSize(timestamp1) / divide; timestamp1.getName(); df.format(size1); testSetId1.add(acdFile); } else { timestamp1.getName(); testSetId1.add(acdFile); } } } File acdBaseFile1; Timestamp acdFile1; long timestamp11; if(testSetAdminData1.getTestConfigUpdateTime(timestamp) != 0L) { acdBaseFile1 = pkgAdminData.getTestConfigFile(testSetId1, timestamp); if(pkgAccess.exists(acdBaseFile1)) { acdFile1 = new Timestamp(pkgAccess.lastModified(acdBaseFile1)); timestamp11 = pkgAccess.getFileSize(acdBaseFile1) / divide; acdBaseFile1.getName(); df.format(timestamp11); timestamp.add(testSetAdminData1.getTestConfigUpdateTimeString(timestamp)); } else { acdBaseFile1.getName(); timestamp.add(testSetAdminData1.getTestConfigUpdateTimeString(timestamp)); } } if(pkgAdminData.getPkgStructure().endsWith("MST") && testSetAdminData1.getACDVersion(timestamp) != 0) { acdBaseFile1 = pkgAdminData.getACDBaseFile(testSetId1, timestamp); if(pkgAccess.exists(acdBaseFile1)) { acdFile1 = new Timestamp(pkgAccess.lastModified(acdBaseFile1)); timestamp11 = pkgAccess.getFileSize(acdBaseFile1) / divide; acdBaseFile1.getName(); df.format(timestamp11); testSetId1.add(timestamp); } else { acdBaseFile1.getName(); testSetId1.add(timestamp); } File acdFile2 = pkgAdminData.getACDFile(testSetId1, timestamp); if(pkgAccess.exists(acdFile2)) { Timestamp timestamp12 = new Timestamp(pkgAccess.lastModified(acdFile2)); long size11 = pkgAccess.getFileSize(acdFile2) / divide; acdFile2.getName(); df.format(size11); size.getAdjAdminStartDateString(); size.getAdjAdminEndDateString().add(testSetAdminData1.getACDVersion(timestamp)); } else { acdFile2.getName(); size.getAdjAdminStartDateString(); size.getAdjAdminEndDateString().add(testSetAdminData1.getACDVersion(timestamp)); } } } if(testSetAdminData1.getBlockFormUpdateTime() != 0L) { File blockFile1 = pkgAdminData.getBlockFile(testSetId1); if(pkgAccess.exists(blockFile1)) { Timestamp timestamp1 = new Timestamp(pkgAccess.lastModified(blockFile1)); long size2 = pkgAccess.getFileSize(blockFile1) / divide; blockFile1.getName(); df.format(size2); testSetId1.add(testSetAdminData1.getBlockFormUpdateTimeString()); } else { list.add(blockFile1.getName()); } } } } return list; } }