Fisheye: Tag bfe9a3f1fab72deab8749ecce2f49ece2cee2db3 refers to a dead (removed) revision in file `lams_admin/src/java/org/lamsfoundation/lams/admin/web/CacheAction.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag bfe9a3f1fab72deab8749ecce2f49ece2cee2db3 refers to a dead (removed) revision in file `lams_admin/src/java/org/lamsfoundation/lams/admin/web/CacheActionForm.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag bfe9a3f1fab72deab8749ecce2f49ece2cee2db3 refers to a dead (removed) revision in file `lams_admin/src/java/org/lamsfoundation/lams/admin/web/SysadminAction.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheAction.java
===================================================================
diff -u
--- lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheAction.java (revision 0)
+++ lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheAction.java (revision bfe9a3f1fab72deab8749ecce2f49ece2cee2db3)
@@ -0,0 +1,131 @@
+package org.lamsfoundation.lams.sysadmin.web;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.lamsfoundation.lams.cache.CacheManager;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+import org.lamsfoundation.lams.web.util.HttpSessionManager;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+
+/**
+ * this is an action where all lams client environments launch.
+ * initial configuration of the individual environment setting is done here.
+ *
+ * @struts:action name="CacheActionForm"
+ * path="/sysadmin/cache"
+ * parameter="method"
+ * validate="false"
+ * @struts:action-forward name="cache" path=".cache"
+ *
+ */
+public class CacheAction extends LamsDispatchAction {
+
+ public static final String CACHE_ENTRIES = "cache";
+ public static final String NODE_KEY = "node";
+
+ private static Logger log = Logger.getLogger(CacheAction.class);
+ private static WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(HttpSessionManager.getInstance().getServletContext());
+ private static CacheManager manager = (CacheManager) ctx.getBean("cacheManager");
+ //private static UserManagementService service = (UserManagementService) ctx.getBean("userManagementServiceTarget");
+
+ /*
+ private boolean isUserInRole(String login,int orgId, String roleName)
+ {
+ if (service.getUserOrganisationRole(login, new Integer(orgId),roleName)==null)
+ return false;
+ return true;
+ } */
+
+ /**
+ * request for sysadmin environment
+ */
+ public ActionForward unspecified(ActionMapping mapping, ActionForm form,
+ HttpServletRequest req, HttpServletResponse res)
+ throws IOException, ServletException {
+
+ try {
+
+ log.debug("cache lookup");
+
+ // todo restrict access to admin only. Can't do at present as don't know orgID
+ log.error("CacheAction should be restricted to admin only. No check being done. Please implement.");
+ /*String login = req.getRemoteUser();
+ int orgId = new Integer(req.getParameter("orgId")).intValue();
+
+ if ( isUserInRole(login,orgId,Role.ADMIN))
+ {
+ log.debug("user is admin");
+ Organisation org = service.getOrganisationById(new Integer(orgId));
+ AdminPreparer.prepare(org,req,service);
+ return mapping.findForward("admin");
+ }
+ else
+ {
+ log.error("User "+login+" tried to get cache admin screen but isn't admin in organisation: "+orgId);
+ return mapping.findForward("error");
+ } */
+
+ Map items = manager.getCachedItems();
+ req.setAttribute(CACHE_ENTRIES, items);
+ return mapping.findForward("cache");
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return mapping.findForward("error");
+ }
+ }
+
+ /**
+ * request for sysadmin environment
+ */
+ public ActionForward remove(ActionMapping mapping, ActionForm form,
+ HttpServletRequest req, HttpServletResponse res)
+ throws IOException, ServletException {
+
+ try {
+
+ log.debug("remove");
+
+ // todo restrict access to admin only. Can't do at present as don't know orgID
+ log.error("CacheAction should be restricted to admin only. No check being done. Please implement.");
+ /*String login = req.getRemoteUser();
+ int orgId = new Integer(req.getParameter("orgId")).intValue();
+
+ if ( isUserInRole(login,orgId,Role.ADMIN))
+ {
+ log.debug("user is admin");
+ Organisation org = service.getOrganisationById(new Integer(orgId));
+ AdminPreparer.prepare(org,req,service);
+ return mapping.findForward("admin");
+ }
+ else
+ {
+ log.error("User "+login+" tried to get cache admin screen but isn't admin in organisation: "+orgId);
+ return mapping.findForward("error");
+ } */
+
+ String node = WebUtil.readStrParam(req, NODE_KEY, false);
+ manager.clearCache(node);
+
+ Map items = manager.getCachedItems();
+ req.setAttribute(CACHE_ENTRIES, items);
+ return mapping.findForward("cache");
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return mapping.findForward("error");
+ }
+ }
+}
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheActionForm.java
===================================================================
diff -u
--- lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheActionForm.java (revision 0)
+++ lams_admin/src/java/org/lamsfoundation/lams/sysadmin/web/CacheActionForm.java (revision bfe9a3f1fab72deab8749ecce2f49ece2cee2db3)
@@ -0,0 +1,43 @@
+package org.lamsfoundation.lams.sysadmin.web;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionMapping;
+
+/**
+ * @author fmalikoff
+ *
+ * @struts:form name="CacheActionForm"
+ */
+public class CacheActionForm extends ActionForm {
+
+ public static final String formName = "CacheActionForm"; // must match name in @struts:action section above
+
+ private String node;
+
+ public CacheActionForm() {
+ }
+
+
+ /**
+ * Reset all properties to their default values.
+ *
+ * @param mapping The mapping used to select this instance
+ * @param request The servlet request we are processing
+ */
+ public void reset(ActionMapping mapping, HttpServletRequest request) {
+ setNode(null);
+ }
+
+
+ public String getNode() {
+ return node;
+ }
+
+
+ public void setNode(String node) {
+ this.node = node;
+ }
+
+}
\ No newline at end of file
Index: lams_admin/web/WEB-INF/struts/struts-config.xml
===================================================================
diff -u -ra037ad028d8a31e78d79fdb75c5bbbe0db3bb536 -rbfe9a3f1fab72deab8749ecce2f49ece2cee2db3
--- lams_admin/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision a037ad028d8a31e78d79fdb75c5bbbe0db3bb536)
+++ lams_admin/web/WEB-INF/struts/struts-config.xml (.../struts-config.xml) (revision bfe9a3f1fab72deab8749ecce2f49ece2cee2db3)
@@ -18,14 +18,14 @@
type="org.lamsfoundation.lams.admin.web.OrganisationActionForm"
/>
+
-
@@ -94,22 +94,19 @@
/>
-
-
-
- System Administration