[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