Commit graph

8911 commits

Author SHA1 Message Date
Manuel Rego Casasnovas
72c2d0dc1b Revert "jira-integration: Avoid saving in startSyncWithJir"
This reverts commit f3bec8193f.

Because of it was causing some issues:
* The WBS was not loaded properly after synchronization
* WorkReports cannot be saved as the order elements where not saved yet

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-31 08:26:19 +01:00
Manuel Rego Casasnovas
4cd0afc504 jira-integration: Simplify code in updateOrCreateDescriptionValuesAndAddToWorkReportLine
As we know that the predefined WorkReportType will only have 1 DescriptionValue,
we can take advantage of this to simplify the code.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 17:43:38 +01:00
Manuel Rego Casasnovas
e16ec15add jira-integration: Move code part from updateWorkReportLine to updateOrCreateWorkReportLineAndAddToWorkReport
The code was being generated in 2 parts, first for the query and then to be set.
As in other cases if the WorkReportLine is found by code, we don't need to set
it again. So the part related to manage the code has been moved close to the
query and only set for newly created objects.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 17:39:23 +01:00
Manuel Rego Casasnovas
15bbcde0c4 jira-integration: Use new predefined work report type in JiraTimesheetSynchronizer
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 17:39:23 +01:00
Manuel Rego Casasnovas
52a0e89071 jira-integration: Add predefined WorkReportType for JIRA connector
* The predefined type will have a line description value to store comments in
  each line.
* As for the case of personal timesheets the new type will be hidden for the
  users in the list of timesheets templates.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 17:13:33 +01:00
Manuel Rego Casasnovas
f3bec8193f jira-integration: Avoid saving in startSyncWithJir
User should be able to do not save if he is not happy with the result of the
JIRA importation.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 14:10:52 +01:00
Manuel Rego Casasnovas
4ebff70afa jira-integration: Remove event from syncWithJira as it's not used
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 14:10:15 +01:00
Manuel Rego Casasnovas
72ada7c634 jira-integration: Disable hours edition in JIRA issues
For tasks that are JIRA issues the hours fields will be readonly.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 14:01:39 +01:00
Manuel Rego Casasnovas
2a359993ce jira-integration: Refactorization related to paint a link in the WBS if the task is a JIRA issue
* A new method isJiraIssue has been added to OrderElement checking if the code
  uses the JIRA prefix or not.
* The method Util.bind has been removed as it was specific of this link and only
  used in one place.
* To calculate issue code for the link it has been used StringUtils.removeStart.

TODO: Pending to disable hours in WBS if the task is a JIRA issue.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 13:43:40 +01:00
Manuel Rego Casasnovas
78379f56b3 jira-integration: Replace Jira by JIRA in all the strings
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 12:53:42 +01:00
Manuel Rego Casasnovas
bf33fbc1ed jira-integration: Check status code against OK
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 12:53:42 +01:00
Manuel Rego Casasnovas
55b5bedf81 jira-integration: Replace printStackTrace by throw RuntimeException
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 12:53:42 +01:00
Manuel Rego Casasnovas
25d508ef46 jira-integration: By default ignore tests that only passes if you have a JIRA server
Some tests only passes if you have a JIRA server installed, as it's not
something mandatory to run LibrePlan, these tests are ignored by default.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 12:22:00 +01:00
Manuel Rego Casasnovas
62ecce6d34 jira-integration: Improve _jiraSyncInfo.zul using vbox
Moreover, the ifs has been moved to an vbox grouping the different components
affected by it.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:51:28 +01:00
Manuel Rego Casasnovas
e1bf121b4c jira-integration: Use Collections.unmodifiableList in JiraSyncInfo
In order to simply code of JiraSyncInfo it has been used the method
Collections.unmodifiableList. Moreover, the type of syncFailedReasons has been
changed to List to make it easier.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:45:45 +01:00
Manuel Rego Casasnovas
50ab6fee37 jira-integration: Set visibility of attributes in Field class
They are marked as private now.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:43:54 +01:00
Manuel Rego Casasnovas
f6ec4e5220 jira-integration: Several refactorizations in JiraRESTClient
* Extracted paths for JIRA REST API to constants.
* Code simplification:
  * Use StringUtils.split
  * Use Collections.singletonList

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:35:18 +01:00
Manuel Rego Casasnovas
851357d760 jira-integration: Several refactorizations in JiraTimesheetSynchronizer
* Extract save part to a separated method as syncJiraTimesheetWithJiraIssues
  doesn't deal with workReportModel and it could cause misunderstandings.
* Move some parts just needed for newly created objects inside the ifs.
* Use properly EffortDuration to create a new one from seconds.
* Avoid find in another transaction as transaction is already opened.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:25:33 +01:00
Manuel Rego Casasnovas
65458cfc9f jira-integration: Avoid whitespace in code use "-" instead
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:20:37 +01:00
Manuel Rego Casasnovas
d8da496a95 jira-integration: Use the configured TypeOfWorkHours in JiraTimesheetSynchronizer
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:19:49 +01:00
Manuel Rego Casasnovas
cbc7c3c169 jira-integration: Add checkings to prevent remove or disable type of work hours for JIRA connector
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:16:50 +01:00
Manuel Rego Casasnovas
ae3b7610f1 jira-integration: Modify bootstraps in order to set JiraConfiguration properly
* Renamed PersonalTimesheetsTypeOfWorkHoursBootstrap to
  ConfigurationTypeOfWorkHoursBootstrapa in order to set up TypeOfWorkHours for
  both personal timesheets and Jira connector.
* Modified ConfigurationBootstrap to ensure that the JiraConfiguration is
  created properly.
* Removed unneeded code in ConfigurationModel.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 11:16:50 +01:00
Manuel Rego Casasnovas
44dca50bc9 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
2013-01-30 11:16:50 +01:00
Manuel Rego Casasnovas
b68315595a jira-integration: Add messages to the user if default data is not found
Add information for the user if required work report type or type of hours are
not found.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 09:40:38 +01:00
Manuel Rego Casasnovas
31c3247344 jira-integration: Inline startSync method
startSync is private and only used from syncJiraTimesheetWithJiraIssues. So it's
not needed.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 09:36:50 +01:00
Manuel Rego Casasnovas
a7fb973a61 jira-integration: General refactorization JiraOrderElementSynchronizer.updateOrCreateProgressAssignmentAndMeasurement
Different stuff has been fixed in the method:
* Some parts were moved inside the ifs, as they were only needed for newly
  created entities.
* Some unneeded lines were removed:
  * directAdvanceAssignment.setOrderElement as this is already done by
    orderElement.addAdvanceAssignment.
  * advanceMeasurement.setAdvanceAssignment as this is already done by
    directAdvanceAssignment.addAdvanceMeasurements.
* The progress PERCENTAGE is marked as spread to make sure that the task appears
  as finished.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-30 09:30:54 +01:00
Manuel Rego Casasnovas
cbc3af5973 jira-integration: Change way to calculate estimated hours
Estimated hours are now calculated using the following formula:
* If there're remaining hours:
  Estimated hours = Remaining estimated hours + Logged hours
* Otherwise:
  Estimated hours = Original estimated hours

Moreover the calculation is done now just once, and after the logged hours one.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 22:32:37 +01:00
Manuel Rego Casasnovas
9e04e0c56f jira-integration: Use EffortDuration to calculate estimated and logged hours
EffortDuration already provide methods to convert seconds in hours and to divide
EffortDuration values.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 22:32:34 +01:00
Manuel Rego Casasnovas
f912cb6dc5 jira-integration: Prevent error if found OrderElement is not a line
There was a cast without checking if the OrderElement was or not a line, so it
could cause exceptions in some cases.

On the other hand the OrderLine gotten or created in
JiraOrderElementSynchronizer.syncOrderLine is used in the next methods too.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:30 +01:00
Manuel Rego Casasnovas
da13e85326 jira-integration: Fix typo in syncProgressMeasurement method name
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:28 +01:00
Manuel Rego Casasnovas
cc2568aca2 jira-integration: Move path for search operation in JIRA REST API to constant
As this path is used in several classes it has been moved to a constant in
JiraRESTClient.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:26 +01:00
Manuel Rego Casasnovas
9821014c9b jira-integration: Avoid 3 queries to get JIRA configuration from database
Extracts JiraConfiguraion to a variable and uses it to get the data. This will
do only 1 database query.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:23 +01:00
Manuel Rego Casasnovas
a113bf4275 jira-integration: Avoid getConfigurationWithReadOnlyTransaction as transaction was already opened
JiraOrderElementSynchronizer.getAllJiraLabels() is marked as transactional, so
getConfiguration() is enough.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:21 +01:00
Manuel Rego Casasnovas
89e9a58b6b jira-integration: Move code prefix for JIRA entities to a constant
As the same prefix is used in several files it has been defined as a constant in
JiraConfiguration.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:17 +01:00
Manuel Rego Casasnovas
d2fe100ca3 jira-integration: Changed params order in IJiraOrderElementSynchronizer.syncOrderElementsWithJiraIssues
This makes it coherent with method in IJiraTimesheetSynchronizer.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:15 +01:00
Manuel Rego Casasnovas
aad23eb4fe jira-integration: Add information about JIRA issue
Include link to JIRA issue in
org.libreplan.importers.IJiraOrderElementSynchronizer.getAllJiraLabels().

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:09 +01:00
Manuel Rego Casasnovas
bb914e7d10 jira-integration: Add missing protected constructor to JiraConfiguration
Missing protected constructor in order to avoid wrong usage of the class (maybe
someone could try to do "new JiraConfiguration()" instead of
JiraConfiguration.create()).

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-01-29 19:30:05 +01:00
Miciele Ghiorghis
0bd1066d20 Jira-integration: Copy right changed from Igalia, S.L. to St. Antoniusziekenhuis 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
1ae8d9b1b7 Jira-integration: importedLabel variable with set and get methods added
When order elements of an existing order are synchronized for an specified label, the specified
label will be stored in order_table. This is to prevent that different labels being imported for
the specified order
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
0c0ad5f3c2 Jira-integration: to get all labels from jira database
At this moment Jira Webservice doesn't support get Jira labels. This is a workaround
for getting jira labels. The php script gets all distinct labels from jira database
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
5171d028fe Jira-integration: jira configuration properties for testing jiraRESTClient 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
f25f65b735 Jira-integration: new dependency groupId=org.codehaus.jackson added
jackson-jaxrs provided and jackson-xc added and is used bij JiraREST client
to parse the json response and map to jira beans
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
77756a7712 Jira-integration: extended with UI for synchronization with jira issues 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
544cfeedb5 Jira-integration: start point of synchronization with jira
Here starts the process synchronization of order-elements with jira issues
First it request jira for all labels and renders the response as autocompleted list (in edition UI).
When a user selected a label and press 'startsync' button it requests jira for all issues of the selected label
and starts synchronizing order-elements(syncOrderElementsWithJiraIssues(order,issues). After finishing synchronization
it saves the order bij calling saveAndContinue() method. if save order is ok then starts synchronizing
timesheets. Finally diplays a dialog window with success or failer info.
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
553b19e5e0 Jira-integration: tabpanel for jira configuration added 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
e72948516c Jira-integration: make the hours column in WBS screen read only if an order-element is a jira issue
Check if an order-element's code starts with 'JIRA'. if it is, the order-element is imported from
jira, so make intbox hours column of WBS(tasks) read only.
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
cc0614c249 Jira-integration: addHyperlink method is added and addCodeCell method is modified
create a hyperlink to jira if an order-element was a jira issue. This check has been
performed in addCodeCell method. order-elements which has a code starts with 'JIRA' are
order-elements that were imported from jira
2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
c4d226ee56 Jira-integration: A bind method which return a hyperlink to jira is added 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
a0af0241d2 Jira-integration: get and set JiraConfiguration added 2013-01-29 18:30:49 +01:00
Miciele Ghiorghis
cbc536c050 Jira-integration: set and get JiraConfiguration added 2013-01-29 18:30:49 +01:00