[Registry-dev] svn commit r17821 - in
trunk/registry/modules/webapps/src/main:
java/org/wso2/registry/web java/org/wso2/registry/web/beans
java/org/wso2/registry/web/utils webapp/admin
chathura at wso2.com
chathura at wso2.com
Mon Jun 2 23:34:51 PDT 2008
Author: chathura
Date: Mon Jun 2 23:34:51 2008
New Revision: 17821
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=17821
Log:
Implemented the live announcements as a separate AJAX section.
Now retrieving the announcements are done in a separate thread from loading the the rest of the UI.
So the network slowdowns do not affect the loading of the UI (only announcement section will be slowed or not loaded on network problems).
Tested this by blocking the announcement loading thread and the rest of the UI loads fine with it.
Removed:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/AnnouncementsBean.java
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AnnouncementsUtil.java
trunk/registry/modules/webapps/src/main/webapp/admin/promotion.jsp
Modified: trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
URL: http://wso2.org/svn/browse/wso2/trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java?rev=17821&r1=17820&r2=17821&view=diff
==============================================================================
--- trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java (original)
+++ trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java Mon Jun 2 23:34:51 2008
@@ -25,7 +25,6 @@
import org.wso2.registry.web.actions.*;
import org.wso2.registry.web.beans.AdminBean;
import org.wso2.registry.web.beans.VersionsBean;
-import org.wso2.registry.web.beans.AnnouncementsBean;
import org.wso2.registry.web.utils.*;
import javax.servlet.ServletConfig;
@@ -612,6 +611,15 @@
} else if (command.equals("/about")) {
request.getRequestDispatcher(UIConstants.ABOUT_JSP).forward(request, response);
+
+ } else if (command.equals("/getAnnouncement")) {
+
+ try {
+ AnnouncementsUtil.sendAnnouncement(response);
+ } catch (RegistryException e) {
+ // we can suppress this error without interfering the normal UI operations.
+ }
+
} else if (command.equals("/removeUserFromRole")) {
RemoveUserRoleAction removeUserRoleAction = new RemoveUserRoleAction();
@@ -910,8 +918,6 @@
re.printStackTrace();
}
- setAnnouncementsBean(request);
-
try {
request.getRequestDispatcher(UIConstants.RESOURCES_JSP)
.forward(request, response);
@@ -934,7 +940,6 @@
}
request.getSession().setAttribute(UIConstants.USER_MANAGEMENT_BEAN, userManagementAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.USER_MANAGEMENT_JSP).forward(request, response);
@@ -961,9 +966,6 @@
e.printStackTrace();
}
-
- setAnnouncementsBean(request);
-
try {
request.getRequestDispatcher(UIConstants.ASSOCIATION_TREE_JSP).forward(request, response);
@@ -1003,9 +1005,6 @@
e.printStackTrace();
}
-
- setAnnouncementsBean(request);
-
try {
request.getRequestDispatcher(UIConstants.RESOURCE_TREE_JSP).forward(request, response);
@@ -1020,7 +1019,6 @@
AdminBean adminBean = AdminUtil.getAdminBean(request);
request.getSession().setAttribute(UIConstants.ADMIN_BEAN, adminBean);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.ADMIN_JSP).forward(request, response);
@@ -1057,7 +1055,6 @@
}
request.getSession().setAttribute(UIConstants.ACTIVITY_BEAN, recentActivityAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.ACTIVITY_AJAX_JSP).forward(request, response);
@@ -1074,7 +1071,6 @@
RecentActivityAction recentActivity = new RecentActivityAction();
recentActivity.setRequest(request);
request.getSession().setAttribute(UIConstants.ACTIVITY_BEAN, recentActivity);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.ACTIVITY_JSP).forward(request, response);
@@ -1090,7 +1086,6 @@
AdvancedSearchAction advancedSearchAction = new AdvancedSearchAction();
advancedSearchAction.setRequest(request);
request.getSession().setAttribute(UIConstants.ADVANCED_SEARCH_BEAN, advancedSearchAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.ADVANCED_SEARCH_JSP).forward(request, response);
@@ -1124,7 +1119,6 @@
}
request.getSession().setAttribute(UIConstants.ADVANCED_SEARCH_BEAN, advancedSearchAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.ADVANCED_AJAX_SEARCH_JSP).forward(request, response);
@@ -1148,7 +1142,6 @@
}
request.getSession().setAttribute(UIConstants.SEARCH_BEAN, searchAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.SEARCH_JSP).forward(request, response);
@@ -1171,7 +1164,6 @@
}
request.getSession().setAttribute(UIConstants.USER_BEAN, userDetailsAction);
- setAnnouncementsBean(request);
try {
request.getRequestDispatcher(UIConstants.USER_JSP).forward(request, response);
@@ -1182,11 +1174,6 @@
}
}
- private void setAnnouncementsBean(HttpServletRequest request) {
- AnnouncementsBean announcementsBean = AnnouncementsUtil.getAnnouncementsBean();
- request.getSession().setAttribute(UIConstants.ANNOUNCEMENTS_BEAN, announcementsBean);
- }
-
private void setErrorMessage(HttpServletRequest request, String message) {
request.getSession().setAttribute(UIConstants.ERROR_MESSAGE, message);
}
Deleted: trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/AnnouncementsBean.java
URL: http://wso2.org/svn/browse/wso2/None?pathrev=17820
Modified: trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AnnouncementsUtil.java
URL: http://wso2.org/svn/browse/wso2/trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AnnouncementsUtil.java?rev=17821&r1=17820&r2=17821&view=diff
==============================================================================
--- trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AnnouncementsUtil.java (original)
+++ trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AnnouncementsUtil.java Mon Jun 2 23:34:51 2008
@@ -16,14 +16,23 @@
package org.wso2.registry.web.utils;
-import org.wso2.registry.web.beans.AnnouncementsBean;
import org.wso2.registry.announcement.Announcement;
+import org.wso2.registry.exceptions.RegistryException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+import java.io.IOException;
public class AnnouncementsUtil {
- public static final String ANNOUNCEMENTS_URL = "http://wso2.com/announcements/registry/1.0/index.html";
+ private static Log log = LogFactory.getLog(AnnouncementsUtil.class);
- public static AnnouncementsBean getAnnouncementsBean() {
+ public static final String ANNOUNCEMENTS_URL =
+ "http://wso2.com/announcements/registry/1.0/index.html";
+
+ public static void sendAnnouncement(HttpServletResponse response) throws RegistryException {
Announcement announcement = new Announcement();
String annConent = announcement.get(null, ANNOUNCEMENTS_URL);
@@ -32,8 +41,22 @@
annConent = "";
}
- AnnouncementsBean announcementsBean = new AnnouncementsBean();
- announcementsBean.setAnnouncements(annConent);
- return announcementsBean;
+ PrintWriter writer = null;
+ try {
+ writer = response.getWriter();
+ writer.println(annConent);
+ writer.flush();
+
+ } catch (IOException e) {
+
+ String msg = "Failed to send announcement text. " + e.getMessage();
+ log.error(msg, e);
+ throw new RegistryException(msg, e);
+
+ } finally {
+ if (writer != null) {
+ writer.close();
+ }
+ }
}
}
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/promotion.jsp
URL: http://wso2.org/svn/browse/wso2/trunk/registry/modules/webapps/src/main/webapp/admin/promotion.jsp?rev=17821&r1=17820&r2=17821&view=diff
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/promotion.jsp (original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/promotion.jsp Mon Jun 2 23:34:51 2008
@@ -1,10 +1,5 @@
-<%@ page import="org.wso2.registry.web.beans.AnnouncementsBean" %>
-<%@ page import="org.wso2.registry.web.UIConstants" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%
- AnnouncementsBean announcementsBean = (AnnouncementsBean) request.getSession().getAttribute(UIConstants.ANNOUNCEMENTS_BEAN);
-%>
<h2 class="sub-headding-about">About</h2>
<div class="promotionDivContent">
<a href="http://wso2.org/wiki/display/registry/WSO2+Registry+User+Guide" target="_blank" class="area">User guide</a>
@@ -17,12 +12,13 @@
<div class="promotionDivTitle" onclick="showHideCommon('getTrainingDiv');">NEWS</div>
<div id="getTrainingDiv" class="aboutBack">
- <% if (announcementsBean != null) { %>
- <%=announcementsBean.getAnnouncements()%>
- <% } %>
</div>
</div>
+<script type="text/javascript" xml:space="preserve">
+ new Ajax.Updater('getTrainingDiv', '/wso2registry/system/getAnnouncement', { method: 'get' });
+</script>
+
<!--<h3>WSO2 Registry Training</h3>-->
<!--<span>-->
More information about the Registry-dev
mailing list