diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/entities/JiraConfiguration.java b/libreplan-business/src/main/java/org/libreplan/business/common/entities/JiraConfiguration.java index 6ed2dcc45..f92b504ea 100755 --- a/libreplan-business/src/main/java/org/libreplan/business/common/entities/JiraConfiguration.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/entities/JiraConfiguration.java @@ -22,6 +22,11 @@ package org.libreplan.business.common.entities; import org.libreplan.business.common.BaseEntity; import org.libreplan.business.costcategories.entities.TypeOfWorkHours; +/** + * JiraConfiguration entity + * + * @author Miciele Ghiorghis + */ public class JiraConfiguration extends BaseEntity { /** diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraOrderElementSynchronizer.java b/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraOrderElementSynchronizer.java index 0413b1688..4f643118e 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraOrderElementSynchronizer.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraOrderElementSynchronizer.java @@ -25,7 +25,7 @@ import org.libreplan.business.advance.entities.AdvanceMeasurement; import org.libreplan.business.advance.entities.DirectAdvanceAssignment; import org.libreplan.business.orders.entities.Order; import org.libreplan.business.orders.entities.OrderElement; -import org.libreplan.importers.jira.Issue; +import org.libreplan.importers.jira.IssueDTO; /** * Synchronize order elements inclusive progress assignments and measurements of @@ -60,7 +60,7 @@ public interface IJiraOrderElementSynchronizer { * * @return list of jira issues */ - List getJiraIssues(String label); + List getJiraIssues(String label); /** * Synchronizes the list of {@link OrderElement}s, @@ -80,7 +80,7 @@ public interface IJiraOrderElementSynchronizer { * @param issues * jira issues */ - void syncOrderElementsWithJiraIssues(List issues, Order order); + void syncOrderElementsWithJiraIssues(List issues, Order order); /** * returns synchronization info, success or fail info diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraTimesheetSynchronizer.java b/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraTimesheetSynchronizer.java index 0a8f0f907..9c263923c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraTimesheetSynchronizer.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/IJiraTimesheetSynchronizer.java @@ -23,7 +23,7 @@ import java.util.List; import org.libreplan.business.orders.entities.Order; import org.libreplan.business.workreports.entities.WorkReportType; -import org.libreplan.importers.jira.Issue; +import org.libreplan.importers.jira.IssueDTO; /** * Synchronize the timesheets of order tasks of an existing order with jira @@ -52,7 +52,7 @@ public interface IJiraTimesheetSynchronizer { * @param order * an existing order */ - void syncJiraTimesheetWithJiraIssues(List issues, Order order); + void syncJiraTimesheetWithJiraIssues(List issues, Order order); /** * returns synchronization info, success or fail info diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java index ed2b2c653..b723ae2c6 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java @@ -44,17 +44,22 @@ import org.libreplan.business.orders.entities.Order; import org.libreplan.business.orders.entities.OrderElement; import org.libreplan.business.orders.entities.OrderLine; import org.libreplan.business.workingday.EffortDuration; -import org.libreplan.importers.jira.Issue; -import org.libreplan.importers.jira.Status; -import org.libreplan.importers.jira.TimeTracking; -import org.libreplan.importers.jira.WorkLog; -import org.libreplan.importers.jira.WorkLogItem; +import org.libreplan.importers.jira.IssueDTO; +import org.libreplan.importers.jira.StatusDTO; +import org.libreplan.importers.jira.TimeTrackingDTO; +import org.libreplan.importers.jira.WorkLogDTO; +import org.libreplan.importers.jira.WorkLogItemDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +/** + * Implementation of Synchronize order elements with jira issues + * + * @author Miciele Ghiorghis + */ @Component @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchronizer { @@ -83,7 +88,7 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz @Override @Transactional(readOnly = true) - public List getJiraIssues(String label) { + public List getJiraIssues(String label) { JiraConfiguration jiraConfiguration = configurationDAO .getConfiguration().getJiraConfiguration(); @@ -94,7 +99,7 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz String path = JiraRESTClient.PATH_SEARCH; String query = "labels=" + label; - List issues = JiraRESTClient.getIssues(url, username, password, + List issues = JiraRESTClient.getIssues(url, username, password, path, query); return issues; @@ -102,11 +107,11 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz @Override @Transactional(readOnly = true) - public void syncOrderElementsWithJiraIssues(List issues, Order order) { + public void syncOrderElementsWithJiraIssues(List issues, Order order) { jiraSyncInfo = new JiraSyncInfo(); - for (Issue issue : issues) { + for (IssueDTO issue : issues) { String code = JiraConfiguration.CODE_PREFIX + order.getCode() + "-" + issue.getKey(); String name = issue.getFields().getSummary(); @@ -206,10 +211,10 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz * jira's issue to synchronize with progress assignment and * measurement */ - private void syncProgressMeasurement(OrderLine orderLine, Issue issue, + private void syncProgressMeasurement(OrderLine orderLine, IssueDTO issue, EffortDuration estimatedHours, EffortDuration loggedHours) { - WorkLog workLog = issue.getFields().getWorklog(); + WorkLogDTO workLog = issue.getFields().getWorklog(); if (workLog == null) { jiraSyncInfo.addSyncFailedReason("No worklogs found for '" @@ -217,7 +222,7 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz return; } - List workLogItems = workLog.getWorklogs(); + List workLogItems = workLog.getWorklogs(); if (workLogItems.isEmpty()) { jiraSyncInfo.addSyncFailedReason("No worklog items found for '" + issue.getKey() + "' issue"); @@ -246,8 +251,8 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz /** * Get the estimated seconds from - * {@link TimeTracking#getRemainingEstimateSeconds()} plus logged hours or - * {@link TimeTracking#getOriginalEstimateSeconds()} and convert it to + * {@link TimeTrackingDTO#getRemainingEstimateSeconds()} plus logged hours or + * {@link TimeTrackingDTO#getOriginalEstimateSeconds()} and convert it to * {@link EffortDuration} * * @param timeTracking @@ -256,7 +261,7 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz * hours already logged * @return estimatedHours */ - private EffortDuration getEstimatedHours(TimeTracking timeTracking, + private EffortDuration getEstimatedHours(TimeTrackingDTO timeTracking, EffortDuration loggedHours) { if (timeTracking == null) { return EffortDuration.zero(); @@ -277,14 +282,14 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz /** * Get the time spent in seconds from - * {@link TimeTracking#getTimeSpentSeconds()} and convert it to + * {@link TimeTrackingDTO#getTimeSpentSeconds()} and convert it to * {@link EffortDuration} * * @param timeTracking * where the timespent to get from * @return timespent in hous */ - private EffortDuration getLoggedHours(TimeTracking timeTracking) { + private EffortDuration getLoggedHours(TimeTrackingDTO timeTracking) { if (timeTracking == null) { return EffortDuration.zero(); } @@ -363,7 +368,7 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz * the status of the issue * @return true if status is Closed */ - private boolean isIssueClosed(Status status) { + private boolean isIssueClosed(StatusDTO status) { if (status == null) { return false; } @@ -377,9 +382,9 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz * list of workLogItems * @return latest date */ - private Date getTheLatestWorkLoggedDate(List workLogItems) { + private Date getTheLatestWorkLoggedDate(List workLogItems) { List dates = new ArrayList(); - for (WorkLogItem workLogItem : workLogItems) { + for (WorkLogItemDTO workLogItem : workLogItems) { if (workLogItem.getStarted() != null) { dates.add(workLogItem.getStarted()); } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraRESTClient.java b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraRESTClient.java index c50f31774..a3ec4f0a6 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraRESTClient.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraRESTClient.java @@ -30,8 +30,8 @@ import javax.ws.rs.core.Response.Status; import org.apache.cxf.jaxrs.client.WebClient; import org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider; import org.codehaus.jackson.map.DeserializationConfig.Feature; -import org.libreplan.importers.jira.Issue; -import org.libreplan.importers.jira.SearchResult; +import org.libreplan.importers.jira.IssueDTO; +import org.libreplan.importers.jira.SearchResultDTO; import org.libreplan.ws.cert.NaiveTrustProvider; import org.libreplan.ws.common.impl.Util; @@ -84,7 +84,7 @@ public class JiraRESTClient { * the query * @return List of jira Issues */ - public static List getIssues(String url, String username, + public static List getIssues(String url, String username, String password, String path, String query) { WebClient client = createClient(url); @@ -97,7 +97,7 @@ public class JiraRESTClient { client.query("jql", query); client.query("maxResults", 1000); } - SearchResult searchResult = client.get(SearchResult.class); + SearchResultDTO searchResult = client.get(SearchResultDTO.class); return getIssuesDetails(client, searchResult.getIssues()); } @@ -155,14 +155,14 @@ public class JiraRESTClient { * * @return List of jira issue details */ - private static List getIssuesDetails(WebClient client, List issues) { + private static List getIssuesDetails(WebClient client, List issues) { client.back(true); client.path(PATH_ISSUE); - List issueDetails = new ArrayList(); - for (Issue issue : issues) { - issueDetails.add(client.path(issue.getId()).get(Issue.class)); + List issueDetails = new ArrayList(); + for (IssueDTO issue : issues) { + issueDetails.add(client.path(issue.getId()).get(IssueDTO.class)); client.back(false); } return issueDetails; diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraTimesheetSynchronizer.java b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraTimesheetSynchronizer.java index 2a56a7635..872ddb88a 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraTimesheetSynchronizer.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraTimesheetSynchronizer.java @@ -44,9 +44,9 @@ import org.libreplan.business.workreports.entities.WorkReportLine; import org.libreplan.business.workreports.entities.WorkReportType; import org.libreplan.business.workreports.valueobjects.DescriptionField; import org.libreplan.business.workreports.valueobjects.DescriptionValue; -import org.libreplan.importers.jira.Issue; -import org.libreplan.importers.jira.WorkLog; -import org.libreplan.importers.jira.WorkLogItem; +import org.libreplan.importers.jira.IssueDTO; +import org.libreplan.importers.jira.WorkLogDTO; +import org.libreplan.importers.jira.WorkLogItemDTO; import org.libreplan.web.workreports.IWorkReportModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -54,6 +54,11 @@ import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +/** + * Implementation of Synchronize timesheets with jira issues + * + * @author Miciele Ghiorghis + */ @Component @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class JiraTimesheetSynchronizer implements IJiraTimesheetSynchronizer { @@ -92,7 +97,7 @@ public class JiraTimesheetSynchronizer implements IJiraTimesheetSynchronizer { @Override @Transactional - public void syncJiraTimesheetWithJiraIssues(List issues, Order order) { + public void syncJiraTimesheetWithJiraIssues(List issues, Order order) { jiraSyncInfo = new JiraSyncInfo(); workReportType = getJiraTimesheetsWorkReportType(); @@ -108,13 +113,13 @@ public class JiraTimesheetSynchronizer implements IJiraTimesheetSynchronizer { WorkReport workReport = updateOrCreateWorkReport(code); - for (Issue issue : issues) { - WorkLog worklog = issue.getFields().getWorklog(); + for (IssueDTO issue : issues) { + WorkLogDTO worklog = issue.getFields().getWorklog(); if (worklog == null) { jiraSyncInfo.addSyncFailedReason("No worklogs found for '" + issue.getKey() + "'"); } else { - List workLogItems = worklog.getWorklogs(); + List workLogItems = worklog.getWorklogs(); if (workLogItems == null || workLogItems.isEmpty()) { jiraSyncInfo .addSyncFailedReason("No worklog items found for '" @@ -180,9 +185,9 @@ public class JiraTimesheetSynchronizer implements IJiraTimesheetSynchronizer { */ private void updateOrCreateWorkReportLineAndAddToWorkReport(WorkReport workReport, OrderElement orderElement, - List workLogItems) { + List workLogItems) { - for (WorkLogItem workLogItem : workLogItems) { + for (WorkLogItemDTO workLogItem : workLogItems) { Resource resource = getWorker(workLogItem.getAuthor().getName()); if (resource == null) { continue; @@ -218,7 +223,7 @@ public class JiraTimesheetSynchronizer implements IJiraTimesheetSynchronizer { * the resource */ private void updateWorkReportLine(WorkReportLine workReportLine, - OrderElement orderElement, WorkLogItem workLogItem, + OrderElement orderElement, WorkLogItemDTO workLogItem, Resource resource) { int timeSpent = workLogItem.getTimeSpentSeconds().intValue(); diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Field.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/FieldDTO.java similarity index 69% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/Field.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/FieldDTO.java index 412cc963f..3f0f25e7c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Field.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/FieldDTO.java @@ -19,12 +19,18 @@ package org.libreplan.importers.jira; -public class Field { + +/** + * DTO representing a jira-issue Field + * + * @author Miciele Ghiorghis + */ +public class FieldDTO { private String summary; - private Status status; - private TimeTracking timetracking; - private WorkLog worklog; + private StatusDTO status; + private TimeTrackingDTO timetracking; + private WorkLogDTO worklog; public String getSummary() { return summary; @@ -34,27 +40,27 @@ public class Field { this.summary = summary; } - public TimeTracking getTimetracking() { + public TimeTrackingDTO getTimetracking() { return timetracking; } - public void setTimetracking(TimeTracking timetracking) { + public void setTimetracking(TimeTrackingDTO timetracking) { this.timetracking = timetracking; } - public WorkLog getWorklog() { + public WorkLogDTO getWorklog() { return worklog; } - public void setWorklog(WorkLog worklog) { + public void setWorklog(WorkLogDTO worklog) { this.worklog = worklog; } - public Status getStatus() { + public StatusDTO getStatus() { return status; } - public void setStatus(Status status) { + public void setStatus(StatusDTO status) { this.status = status; } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Issue.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/IssueDTO.java similarity index 86% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/Issue.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/IssueDTO.java index 74025f376..9ba784a65 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Issue.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/IssueDTO.java @@ -19,7 +19,13 @@ package org.libreplan.importers.jira; -public class Issue { + +/** + * DTO representing a jira-issue + * + * @author Miciele Ghiorghis + */ +public class IssueDTO { private String expand; @@ -29,7 +35,7 @@ public class Issue { private String self; - private Field fields; + private FieldDTO fields; public String getExpand() { return expand; @@ -63,11 +69,11 @@ public class Issue { this.self = self; } - public Field getFields() { + public FieldDTO getFields() { return fields; } - public void setFields(Field fields) { + public void setFields(FieldDTO fields) { this.fields = fields; } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssue.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssueDTO.java similarity index 87% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssue.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssueDTO.java index f9e9d8894..a784f1db2 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssue.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/LabelIssueDTO.java @@ -19,7 +19,12 @@ package org.libreplan.importers.jira; -public class LabelIssue { +/** + * DTO representing a jira-issue LabelIssue + * + * @author Miciele Ghiorghis + */ +public class LabelIssueDTO { String key; String self; diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResult.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResultDTO.java similarity index 77% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResult.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResultDTO.java index b547d610f..c41b7164f 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResult.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/SearchResultDTO.java @@ -21,12 +21,20 @@ package org.libreplan.importers.jira; import java.util.List; -public class SearchResult { +import org.libreplan.business.orders.entities.OrderElement; + +/** + * DTO representing jira search result(response), it will be used for + * synchronization with {@link OrderElement} + * + * @author Miciele Ghiorghis + */ +public class SearchResultDTO { private Integer startAt; private Integer maxResults; private Integer total; - private List issues; + private List issues; public Integer getStartAt() { return startAt; @@ -52,11 +60,11 @@ public class SearchResult { this.total = total; } - public List getIssues() { + public List getIssues() { return issues; } - public void setIssues(List issues) { + public void setIssues(List issues) { this.issues = issues; } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Status.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/StatusDTO.java similarity index 89% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/Status.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/StatusDTO.java index 0715e0793..38addb9ec 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/Status.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/StatusDTO.java @@ -19,7 +19,13 @@ package org.libreplan.importers.jira; -public class Status { + +/** + * DTO representing a jira-issue Status + * + * @author Miciele Ghiorghis + */ +public class StatusDTO { Integer id; String name; String self; diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTracking.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTrackingDTO.java similarity index 91% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTracking.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTrackingDTO.java index 653ec7b35..e5a1297ab 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTracking.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/TimeTrackingDTO.java @@ -20,7 +20,12 @@ package org.libreplan.importers.jira; -public class TimeTracking { +/** + * DTO representing a jira-issue TimeTracking + * + * @author Miciele Ghiorghis + */ +public class TimeTrackingDTO { private Integer originalEstimateSeconds; private Integer remainingEstimateSeconds; diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthor.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthorDTO.java similarity index 90% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthor.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthorDTO.java index c402eef3d..dcb957387 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthor.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogAuthorDTO.java @@ -19,7 +19,12 @@ package org.libreplan.importers.jira; -public class WorkLogAuthor { +/** + * DTO representing a jira-issue WorkLogAuthor + * + * @author Miciele Ghiorghis + */ +public class WorkLogAuthorDTO { private boolean active; private String displayName; private String name; diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLog.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogDTO.java similarity index 83% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLog.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogDTO.java index ae0f87914..eafe48f4a 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLog.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogDTO.java @@ -21,12 +21,17 @@ package org.libreplan.importers.jira; import java.util.List; -public class WorkLog { +/** + * DTO representing a jira-issue WorkLog + * + * @author Miciele Ghiorghis + */ +public class WorkLogDTO { private Integer startAt; private Integer maxResults; private Integer total; - private List worklogs; + private List worklogs; public Integer getStartAt() { return startAt; @@ -52,11 +57,11 @@ public class WorkLog { this.total = total; } - public List getWorklogs() { + public List getWorklogs() { return worklogs; } - public void setWorklogs(List worklogs) { + public void setWorklogs(List worklogs) { this.worklogs = worklogs; } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItem.java b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItemDTO.java similarity index 88% rename from libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItem.java rename to libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItemDTO.java index 664addbfd..49e70a6ae 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItem.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/jira/WorkLogItemDTO.java @@ -21,9 +21,14 @@ package org.libreplan.importers.jira; import java.util.Date; -public class WorkLogItem { +/** + * DTO representing a jira-issue WorkLogItem + * + * @author Miciele Ghiorghis + */ +public class WorkLogItemDTO { - private WorkLogAuthor author; + private WorkLogAuthorDTO author; private Integer id; private String self; private Date created; @@ -32,11 +37,11 @@ public class WorkLogItem { private Integer timeSpentSeconds; private String comment; - public WorkLogAuthor getAuthor() { + public WorkLogAuthorDTO getAuthor() { return author; } - public void setAuthor(WorkLogAuthor author) { + public void setAuthor(WorkLogAuthorDTO author) { this.author = author; } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java index 94e2676f4..f846b820a 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/OrderCRUDController.java @@ -56,7 +56,7 @@ import org.libreplan.business.users.entities.UserRole; import org.libreplan.importers.IJiraOrderElementSynchronizer; import org.libreplan.importers.IJiraTimesheetSynchronizer; import org.libreplan.importers.JiraSyncInfo; -import org.libreplan.importers.jira.Issue; +import org.libreplan.importers.jira.IssueDTO; import org.libreplan.web.common.ConfirmCloseUtil; import org.libreplan.web.common.IMessagesForUser; import org.libreplan.web.common.Level; @@ -1739,7 +1739,7 @@ public class OrderCRUDController extends GenericForwardComposer { try { Order order = getOrder(); - List issues = jiraOrderElementSynchronizer + List issues = jiraOrderElementSynchronizer .getJiraIssues(label); order.setCodeAutogenerated(false); diff --git a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraOrderElementSynchronizerTest.java b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraOrderElementSynchronizerTest.java index c587df4b0..90def2e43 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraOrderElementSynchronizerTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraOrderElementSynchronizerTest.java @@ -64,10 +64,10 @@ import org.libreplan.business.orders.entities.OrderLine; import org.libreplan.business.scenarios.IScenarioManager; import org.libreplan.business.scenarios.entities.OrderVersion; import org.libreplan.business.scenarios.entities.Scenario; -import org.libreplan.importers.jira.Issue; -import org.libreplan.importers.jira.TimeTracking; -import org.libreplan.importers.jira.WorkLog; -import org.libreplan.importers.jira.WorkLogItem; +import org.libreplan.importers.jira.IssueDTO; +import org.libreplan.importers.jira.TimeTrackingDTO; +import org.libreplan.importers.jira.WorkLogDTO; +import org.libreplan.importers.jira.WorkLogItemDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -106,7 +106,7 @@ public class JiraOrderElementSynchronizerTest { private static final String LABEL = "labels=epd_12a_ZorgActiviteiten"; - private List issues; + private List issues; @Autowired private IOrderDAO orderDAO; @@ -130,8 +130,8 @@ public class JiraOrderElementSynchronizerTest { transactionService.runOnAnotherTransaction(load); } - private List getJiraIssues() { - List issues = new ArrayList(); + private List getJiraIssues() { + List issues = new ArrayList(); try { Properties properties = loadProperties(); issues = JiraRESTClient.getIssues(properties.getProperty("url"), @@ -208,7 +208,7 @@ public class JiraOrderElementSynchronizerTest { .getDefaultCalendar()); OrderVersion version = setupVersionUsing(scenarioManager, order); order.useSchedulingDataFor(version); - for (Issue issue : issues) { + for (IssueDTO issue : issues) { String code = JiraConfiguration.CODE_PREFIX + order.getCode() + "-" + issue.getKey(); String name = issue.getFields().getSummary(); @@ -267,9 +267,9 @@ public class JiraOrderElementSynchronizerTest { } - private void syncPorgressMeasurement(OrderElement orderElement, Issue issue) { + private void syncPorgressMeasurement(OrderElement orderElement, IssueDTO issue) { - WorkLog workLog = issue.getFields().getWorklog(); + WorkLogDTO workLog = issue.getFields().getWorklog(); if (workLog == null) { return; @@ -278,7 +278,7 @@ public class JiraOrderElementSynchronizerTest { return; } - List workLogItems = workLog.getWorklogs(); + List workLogItems = workLog.getWorklogs(); if (workLogItems.isEmpty()) { return; } @@ -342,7 +342,7 @@ public class JiraOrderElementSynchronizerTest { } - private Integer getEstimatedHours(TimeTracking timeTracking) { + private Integer getEstimatedHours(TimeTrackingDTO timeTracking) { if (timeTracking == null) { return 0; } @@ -360,7 +360,7 @@ public class JiraOrderElementSynchronizerTest { return 0; } - private Integer getLoggedHours(TimeTracking timeTracking) { + private Integer getLoggedHours(TimeTrackingDTO timeTracking) { if (timeTracking == null) { return 0; } @@ -377,7 +377,7 @@ public class JiraOrderElementSynchronizerTest { @Ignore("Only working if you have a JIRA server configured") public void testSyncOrderElementsOfAnExistingOrderWithNoOrderLines() { Order order = givenOrder(); - for (Issue issue : issues) { + for (IssueDTO issue : issues) { String code = JiraConfiguration.CODE_PREFIX + order.getCode() + "-" + issue.getKey(); String name = issue.getFields().getSummary(); @@ -401,7 +401,7 @@ public class JiraOrderElementSynchronizerTest { public void testReSyncOrderElementsOfAnExistingOrderWithOrderLines() { Order order = givenOrderWithValidOrderLines(); Integer workingHours = order.getWorkHours(); - for (Issue issue : issues) { + for (IssueDTO issue : issues) { String code = JiraConfiguration.CODE_PREFIX + order.getCode() + "-" + issue.getKey(); String name = issue.getFields().getSummary(); diff --git a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraRESTClientTest.java b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraRESTClientTest.java index e2efaab70..f0e4f0467 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraRESTClientTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraRESTClientTest.java @@ -34,7 +34,7 @@ import org.apache.commons.lang.StringUtils; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import org.libreplan.importers.jira.Issue; +import org.libreplan.importers.jira.IssueDTO; /** * Test for {@link JiraRESTClient } @@ -73,7 +73,7 @@ public class JiraRESTClientTest { @Test @Ignore("Only working if you have a JIRA server configured") public void testGetIssuesForValidLabelAndAuthorizedUser() { - List issues = JiraRESTClient.getIssues( + List issues = JiraRESTClient.getIssues( properties.getProperty("url"), properties.getProperty("username"), properties.getProperty("password"), JiraRESTClient.PATH_SEARCH, @@ -90,7 +90,7 @@ public class JiraRESTClientTest { @Test @Ignore("Only working if you have a JIRA server configured") public void testGetIssuesForEmptyLabel() { - List issues = JiraRESTClient.getIssues( + List issues = JiraRESTClient.getIssues( properties.getProperty("url"), properties.getProperty("username"), properties.getProperty("password"), JiraRESTClient.PATH_SEARCH, diff --git a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraTimesheetSynchronizerTest.java b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraTimesheetSynchronizerTest.java index e294dbfea..6f5dde04e 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/importers/JiraTimesheetSynchronizerTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/importers/JiraTimesheetSynchronizerTest.java @@ -65,9 +65,9 @@ import org.libreplan.business.workreports.entities.WorkReportLine; import org.libreplan.business.workreports.entities.WorkReportType; import org.libreplan.business.workreports.valueobjects.DescriptionField; import org.libreplan.business.workreports.valueobjects.DescriptionValue; -import org.libreplan.importers.jira.Issue; -import org.libreplan.importers.jira.WorkLog; -import org.libreplan.importers.jira.WorkLogItem; +import org.libreplan.importers.jira.IssueDTO; +import org.libreplan.importers.jira.WorkLogDTO; +import org.libreplan.importers.jira.WorkLogItemDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -106,7 +106,7 @@ public class JiraTimesheetSynchronizerTest { private static final String LABEL = "labels=epd_12a_ZorgActiviteiten"; - private List issues; + private List issues; @Autowired private IOrderDAO orderDAO; @@ -137,8 +137,8 @@ public class JiraTimesheetSynchronizerTest { transactionService.runOnAnotherTransaction(load); } - private List getJiraIssues() { - List issues = new ArrayList(); + private List getJiraIssues() { + List issues = new ArrayList(); try { Properties properties = loadProperties(); issues = JiraRESTClient.getIssues(properties.getProperty("url"), @@ -186,7 +186,7 @@ public class JiraTimesheetSynchronizerTest { .getDefaultCalendar()); OrderVersion version = setupVersionUsing(scenarioManager, order); order.useSchedulingDataFor(version); - for (Issue issue : issues) { + for (IssueDTO issue : issues) { String code = JiraConfiguration.CODE_PREFIX + order.getCode() + "-" + issue.getKey(); String name = issue.getFields().getSummary(); @@ -228,9 +228,9 @@ public class JiraTimesheetSynchronizerTest { private void updateOrCreateWorkReportLineAndAddToWorkReport( WorkReport workReport, OrderElement orderElement, - List workLogItems) { + List workLogItems) { - for (WorkLogItem workLogItem : workLogItems) { + for (WorkLogItemDTO workLogItem : workLogItems) { WorkReportLine workReportLine; try { workReportLine = workReport @@ -255,7 +255,7 @@ public class JiraTimesheetSynchronizerTest { } private void updateWorkReportLine(WorkReportLine workReportLine, - OrderElement orderElement, WorkLogItem workLogItem, + OrderElement orderElement, WorkLogItemDTO workLogItem, org.libreplan.business.resources.entities.Resource resource) { String code = orderElement.getCode() + "-" + workLogItem.getId(); @@ -334,10 +334,10 @@ public class JiraTimesheetSynchronizerTest { WorkReport workReport = getOrCreateWorkReport(code); - for (Issue issue : issues) { - WorkLog worklog = issue.getFields().getWorklog(); + for (IssueDTO issue : issues) { + WorkLogDTO worklog = issue.getFields().getWorklog(); if (worklog != null) { - List workLogItems = worklog.getWorklogs(); + List workLogItems = worklog.getWorklogs(); if (workLogItems != null && !workLogItems.isEmpty()) { String code1 = JiraConfiguration.CODE_PREFIX