- More AJAX support (couple of bug fixes, added timing for AJAX calls, added support for adding AJAX scripts to a page once and once only)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3352 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2006-07-19 11:50:32 +00:00
parent 43746353a4
commit a1200deadb
17 changed files with 558 additions and 55 deletions

View File

@@ -38,6 +38,7 @@ public class AjaxServlet extends BaseServlet
private static final long serialVersionUID = -7654769105419391840L;
private static Log logger = LogFactory.getLog(AJAX_LOG_KEY);
private static Log headersLogger = LogFactory.getLog(AJAX_LOG_KEY + ".headers");
private static Log perfLogger = LogFactory.getLog(AJAX_LOG_KEY + ".performance");
/**
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
@@ -45,6 +46,8 @@ public class AjaxServlet extends BaseServlet
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
long startTime = 0;
try
{
String uri = request.getRequestURI();
@@ -95,6 +98,10 @@ public class AjaxServlet extends BaseServlet
// setup the faces context
FacesContext facesContext = FacesHelper.getFacesContext(request, response, getServletContext());
// start a timer
if (perfLogger.isDebugEnabled())
startTime = System.currentTimeMillis();
// instantiate the relevant command
AjaxCommand command = null;
if (Command.invoke.toString().equals(commandName))
@@ -117,6 +124,15 @@ public class AjaxServlet extends BaseServlet
{
handleError(response, error);
}
finally
{
// measure the time taken
if (perfLogger.isDebugEnabled())
{
long endTime = System.currentTimeMillis();
perfLogger.debug("Time to execute command: " + (endTime - startTime) + "ms");
}
}
}
/**

View File

@@ -49,7 +49,10 @@ public class GetCommand extends BaseAjaxCommand
// get the value from the value binding
Object value = binding.getValue(facesContext);
response.getWriter().write(value.toString());
if (value != null)
{
response.getWriter().write(value.toString());
}
// commit
tx.commit();