package org.ets.ibt.utilities.server.cachemanager; import java.io.IOException; import java.io.PrintWriter; import java.sql.Timestamp; import java.util.Iterator; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.ets.ibt.cacheserver.common.service.CacheServiceHandler; import org.ets.ibt.delivery.server.model.cache.CacheManager; import org.ets.ibt.delivery.server.security.IBTSecurityUtil; public class ContentsCacheServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(this.checkPermission()) { Map pkgInfoMap = CacheServiceHandler.getDataManager().getLoadedContentsInfo(); this.buildMainPage(response, pkgInfoMap); } else { response.getWriter().println("You are not authorized to access this resource"); } } public boolean checkPermission() { return IBTSecurityUtil.hasPermission("ACCSS_CNTNTS_CCHE", new String[]{"level_4_role"}); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(this.checkPermission()) { String pkgId = request.getParameter("package_id"); CacheServiceHandler.getDataManager().purgeContent(pkgId); Map pkgInfoMap = CacheServiceHandler.getDataManager().getLoadedContentsInfo(); this.buildMainPage(response, pkgInfoMap); } else { response.getWriter().println("You are not authorized to access this resource"); } } private void buildMainPage(HttpServletResponse response, Map pkgInfoMap) throws IOException { response.setContentType("text/html; charset=ISO-8859-1"); PrintWriter out = response.getWriter(); out.println(""); out.println("iBT Server Cache Management"); out.println(""); out.println(""); out.println(""); out.println("
"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); String bgcolor = ""; int i = 0; for(Iterator var6 = pkgInfoMap.keySet().iterator(); var6.hasNext(); ++i) { String pkgId = (String)var6.next(); if(i % 2 == 0) { bgcolor = "#F2F2F2"; } else { bgcolor = "#DDDDDD"; } out.println(""); bgcolor.println(pkgId); bgcolor.println(new Timestamp(((Long)pkgInfoMap.get(pkgId)).longValue())); Object isPackageLoaded = CacheManager.getInstance().getLoadedPackage(pkgId) != null; bgcolor.println((String)isPackageLoaded); if(isPackageLoaded != false) { out.println(bgcolor); } else { bgcolor.println(pkgId); } out.println(""); } out.println("
Package IdLoad TimestampPackage LoadedAction
"); out.println("
"); out.println(""); out.flush(); } }