From 6cf37005df0543295209df97d2a38c6231ff2c93 Mon Sep 17 00:00:00 2001 From: Miciele Ghiorghis Date: Wed, 24 Oct 2012 13:48:29 +0200 Subject: [PATCH] Jira-integration: testJiraConnection method added testJiraConnection method added, to test if user can be connected to jira and also getter and setter -JiraConfiguration methods added --- .../web/common/ConfigurationController.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java index b98983ebc..66277db5b 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationController.java @@ -32,13 +32,18 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.cxf.jaxrs.client.WebClient; import org.libreplan.business.calendars.entities.BaseCalendar; import org.libreplan.business.common.entities.Configuration; import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.entities.EntitySequence; +import org.libreplan.business.common.entities.JiraConfiguration; import org.libreplan.business.common.entities.LDAPConfiguration; import org.libreplan.business.common.entities.PersonalTimesheetsPeriodicityEnum; import org.libreplan.business.common.entities.ProgressType; @@ -259,6 +264,34 @@ public class ConfigurationController extends GenericForwardComposer { } } + /** + * tests jira connection + */ + public void testJiraConnection() { + + JiraConfiguration jiraConfiguration = configurationModel + .getJiraConfiguration(); + + WebClient client = WebClient.create(jiraConfiguration.getJiraUrl()); + client.path("rest/auth/latest/session").accept( + MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML); + + org.libreplan.ws.common.impl.Util.addAuthorizationHeader(client, + jiraConfiguration.getJiraUserId(), + jiraConfiguration.getJiraPassword()); + + Response response = client.get(); + + if (response.getStatus() == 200) { + messages.showMessage(Level.INFO, + _("Jira connection was successful")); + } else { + messages.showMessage(Level.ERROR, + _("Cannot connect to Jira server")); + } + + } + private boolean checkValidEntitySequenceRows() { Rows rows = entitySequencesGrid.getRows(); for (Row row : (List) rows.getChildren()) { @@ -774,6 +807,14 @@ public class ConfigurationController extends GenericForwardComposer { configurationModel.setLdapConfiguration(ldapConfiguration); } + public JiraConfiguration getJiraConfiguration() { + return configurationModel.getJiraConfiguration(); + } + + public void setJiraConfiguration(JiraConfiguration jiraConfiguration) { + configurationModel.setJiraConfiguration(jiraConfiguration); + } + public RowRenderer getAllUserRolesRenderer() { return new RowRenderer() { @Override