jira-integration: Add new field jiraConnectorTypeOfWorkHours in JiraConfiguration

* The new field is added in JiraConfiguration similar to field
Configuration.personalTimesheetsTypeOfWorkHours.
* Added required bits for Hibernate mapping and Liquibase database changes.
* Modified Jira connector configuration UI to include the new field.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
This commit is contained in:
Manuel Rego Casasnovas 2013-01-30 10:30:31 +01:00
parent b68315595a
commit 44dca50bc9
7 changed files with 72 additions and 0 deletions

View file

@ -20,6 +20,7 @@
package org.libreplan.business.common.entities;
import org.libreplan.business.common.BaseEntity;
import org.libreplan.business.costcategories.entities.TypeOfWorkHours;
public class JiraConfiguration extends BaseEntity {
@ -42,6 +43,8 @@ public class JiraConfiguration extends BaseEntity {
private String jiraPassword;
private TypeOfWorkHours jiraConnectorTypeOfWorkHours;
/**
* Constructor for Hibernate. Do not use!
*/
@ -88,5 +91,12 @@ public class JiraConfiguration extends BaseEntity {
this.jiraPassword = jiraPassword;
}
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
return jiraConnectorTypeOfWorkHours;
}
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
jiraConnectorTypeOfWorkHours = typeOfWorkHours;
}
}

View file

@ -269,4 +269,21 @@
</addColumn>
</changeSet>
<changeSet id="add-jira_connector_type_of_work_hours-to-configuration"
author="mrego">
<comment>
Add new column jira_connector_type_of_work_hours to configuration
table.
</comment>
<addColumn tableName="configuration">
<column name="jira_connector_type_of_work_hours" type="BIGINT" />
</addColumn>
<addForeignKeyConstraint
constraintName="configuration_jira_connector_type_of_work_hours_fkey"
baseTableName="configuration"
baseColumnNames="jira_connector_type_of_work_hours"
referencedTableName="type_of_work_hours"
referencedColumnNames="id" />
</changeSet>
</databaseChangeLog>

View file

@ -128,7 +128,10 @@
<property name="jiraLabelUrl" column="jira_label_url"/>
<property name="jiraUserId" column="jira_user_id"/>
<property name="jiraPassword" column="jira_password"/>
<many-to-one name="jiraConnectorTypeOfWorkHours" cascade="none"
column="jira_connector_type_of_work_hours" />
</component>
</class>
</hibernate-mapping>

View file

@ -965,4 +965,12 @@ public class ConfigurationController extends GenericForwardComposer {
configurationModel.setSecondsPlanningWarning(secondsPlanningWarning);
}
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
return configurationModel.getJiraConnectorTypeOfWorkHours();
}
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
configurationModel.setJiraConnectorTypeOfWorkHours(typeOfWorkHours);
}
}

View file

@ -146,6 +146,8 @@ public class ConfigurationModel implements IConfigurationModel {
private void forceLoad(Configuration configuration) {
forceLoad(configuration.getDefaultCalendar());
forceLoad(configuration.getPersonalTimesheetsTypeOfWorkHours());
forceLoad(configuration.getJiraConfiguration()
.getJiraConnectorTypeOfWorkHours());
}
private void forceLoad(BaseCalendar calendar) {
@ -685,4 +687,26 @@ public class ConfigurationModel implements IConfigurationModel {
return configuration.getJiraConfiguration();
}
@Override
public TypeOfWorkHours getJiraConnectorTypeOfWorkHours() {
JiraConfiguration jiraConfiguration = configuration
.getJiraConfiguration();
if (jiraConfiguration != null) {
return jiraConfiguration.getJiraConnectorTypeOfWorkHours();
}
return null;
}
@Override
public void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours) {
if (configuration != null) {
JiraConfiguration jiraConfiguration = configuration
.getJiraConfiguration();
if (jiraConfiguration != null) {
jiraConfiguration
.setJiraConnectorTypeOfWorkHours(typeOfWorkHours);
}
}
}
}

View file

@ -190,4 +190,8 @@ public interface IConfigurationModel {
JiraConfiguration getJiraConfiguration();
TypeOfWorkHours getJiraConnectorTypeOfWorkHours();
void setJiraConnectorTypeOfWorkHours(TypeOfWorkHours typeOfWorkHours);
}

View file

@ -442,6 +442,12 @@
<label value="${i18n:_('Jira sync password')}" />
<textbox id="jiraSyncPassword" value="@{configurationController.jiraConfiguration.jiraPassword}" type="password" width="300px"/>
</row>
<row>
<label value="${i18n:_('Hours type for JIRA connector')}" />
<bandboxSearch
finder="TypeOfWorkHoursBandboxFinder"
selectedElement="@{configurationController.jiraConnectorTypeOfWorkHours, access='both'}" />
</row>
</rows>
</grid>
<separator />