[jboss-svn-commits] JBL Code SVN: r12717 - in labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos: jira and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 20 14:05:02 EDT 2007


Author: wrzep
Date: 2007-06-20 14:05:02 -0400 (Wed, 20 Jun 2007)
New Revision: 12717

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/LabsKosmosPortlet.java
   labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraDescriptor.java
   labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraPortlet.java
   labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnDescriptor.java
   labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnPortlet.java
Log:
JBLAB-868
exception handling (broken links, service unavailable, etc)


Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/LabsKosmosPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/LabsKosmosPortlet.java	2007-06-20 15:21:22 UTC (rev 12716)
+++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/LabsKosmosPortlet.java	2007-06-20 18:05:02 UTC (rev 12717)
@@ -43,7 +43,8 @@
 	private static final String SERVICE_URL_INIT_PARAM = "service.url";
 	private static final String JSP_PAGE_INIT_PARAM = "jsp.page";
 	
-	protected static final long KOSMOS_PORTLET_UPDATE_INTERVAL = 1000*60*30; // ms
+	protected static final String KOSMOS_ERROR_PAGE = "kosmos/error.jsp";
+	protected static final long KOSMOS_PORTLET_UPDATE_INTERVAL = 1000*60*30; // 30 minutes
 	
 	protected String serviceUrl;
 	protected String page;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraDescriptor.java	2007-06-20 15:21:22 UTC (rev 12716)
+++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraDescriptor.java	2007-06-20 18:05:02 UTC (rev 12717)
@@ -48,6 +48,7 @@
 	
 	private JiraProject jiraProject;
 	private Date timestamp;
+	
 
 	public LabsKosmosJiraDescriptor(String projectId, String serviceUrl) {
 		
@@ -60,40 +61,48 @@
 		// get project list if the service was successfully set-up
 		if ((service != null) && (monitoredUrl != null)) {
 		
-			projects = service.getProjects(monitoredUrl);
+			try {
+				projects = service.getProjects(monitoredUrl);
+				timestamp = service.getTimestamp();
+			} catch (Exception e) {
+				log.warn("Unable to get project from service " + 
+										"(projectId: " + projectId + ")", e);
+			}
 		}
 		
 		if ((projects != null) && (projects.size() > 0)) {
-			
-			timestamp = service.getTimestamp();
 			jiraProject = projects.get(0);
-			
-			log.info("JIRA project downloaded: " + monitoredUrl + " timestamp: " + timestamp);
 		} else {
-			log.info("Failed to download JIRA project: " + monitoredUrl);
+			log.warn("Failed to download JIRA project: " + monitoredUrl +
+										" (projectId:" + projectId + ")");
 		}
-		
 	}
 
-	public void fillContext(PortletContext portletContext) {
+	public boolean fillContext(PortletContext portletContext) {
 		
+		if (jiraProject == null) {
+			return false;
+		}
+		
 		portletContext.setAttribute("project", jiraProject);
 		portletContext.setAttribute("timestamp", timestamp);
+		
+		return true;
 	}
 
-	private static JiraService getService(String serviceUrl) {
+	private JiraService getService(String serviceUrl) {
 		
 		JiraService service = null;
 		HessianProxyFactory factory = new HessianProxyFactory();
 		try {
 			service = (JiraService)factory.create(JiraService.class, serviceUrl);
 		} catch (MalformedURLException ex) {
-			log.error("Unable to connect to the service", ex);
+			log.warn("Unable to connect to the service\n"  + ex.getMessage());
 		}
 		return service;
 	}
 	
-	private static String getProjectJira(String projectId) {
+	private String getProjectJira(String projectId) {
 		
 		try {
 			IssueTracker it = 
@@ -104,7 +113,7 @@
 			}
 			
 		} catch (ServiceRetrievalException e) {
-			log.warn("Unable to get project " + projectId, e);
+			log.warn("Unable to get project " + projectId +"\n" + e.getMessage());
 		}
 		
 		return null;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraPortlet.java	2007-06-20 15:21:22 UTC (rev 12716)
+++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/jira/LabsKosmosJiraPortlet.java	2007-06-20 18:05:02 UTC (rev 12717)
@@ -45,8 +45,10 @@
 
 		LabsKosmosJiraDescriptor desc = jiraWatcher.get(new Pair<String, String>(projectId,serviceUrl));
 		
-		desc.fillContext(getPortletContext());
-	
-		renderJsp(request, response, page, String.format("%s / %s", "JIRA", projectId));
+		if (desc.fillContext(getPortletContext())) {
+			renderJsp(request, response, page, String.format("%s / %s", "JIRA", projectId));
+		} else {
+			renderJsp(request, response, KOSMOS_ERROR_PAGE, String.format("%s / %s", "JIRA", projectId));
+		}
 	}
 }
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnDescriptor.java	2007-06-20 15:21:22 UTC (rev 12716)
+++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnDescriptor.java	2007-06-20 18:05:02 UTC (rev 12717)
@@ -59,24 +59,33 @@
 		// get project list if the service was successfully set-up
 		if ((service != null) && (monitoredUrl != null)) {
 		
-			repositories = service.getRepositories(monitoredUrl);
+			try {
+				repositories = service.getRepositories(monitoredUrl);
+				timestamp = service.getTimestamp();
+			} catch (Exception e) {
+				log.warn("Unable to get repository stats from service " +
+										"(projectId: " + projectId + ")", e);
+			}
 		}
 		
 		if ((repositories != null) && (repositories.size() > 0)) {
-			
 			repository = repositories.get(0);
-			timestamp = service.getTimestamp();
-			
-			log.info("SVN repository downloaded: " + monitoredUrl + " timestamp: " + timestamp);
 		} else {
-			log.info("Failed to download SVN repository: " + monitoredUrl);
+			log.warn("Failed to download SVN repository: " + monitoredUrl +
+											" (projectId:" + projectId + ")");
 		}
 	}
 	
-	public void fillContext(PortletContext portletContext) {
+	public boolean fillContext(PortletContext portletContext) {
 
+		if (repository == null) {
+			return false;
+		}
+		
 		portletContext.setAttribute("repository", repository);
 		portletContext.setAttribute("timestamp", timestamp);
+	
+		return true;
 	}
 
 	private static SvnService getService(String serviceUrl) {

Modified: labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnPortlet.java	2007-06-20 15:21:22 UTC (rev 12716)
+++ labs/jbosslabs/trunk/portal-extensions/forge-kosmos-portlets/src/java/org/jboss/forge/kosmos/svn/LabsKosmosSvnPortlet.java	2007-06-20 18:05:02 UTC (rev 12717)
@@ -45,8 +45,10 @@
 
 		LabsKosmosSvnDescriptor desc = svnWatcher.get(new Pair<String, String>(projectId,serviceUrl));
 		
-		desc.fillContext(getPortletContext());
-	
-		renderJsp(request, response, page, String.format("%s / %s", "SVN", projectId));
+		if (desc.fillContext(getPortletContext())) {
+			renderJsp(request, response, page, String.format("%s / %s", "SVN", projectId));
+		} else {
+			renderJsp(request, response, KOSMOS_ERROR_PAGE, String.format("%s / %s", "SVN", projectId));
+		}
 	}
 }




More information about the jboss-svn-commits mailing list