Guest User

Untitled

a guest
Jan 13th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 6.37 KB | None | 0 0
  1. diff --git a/src/main/java/ru/borlas/jira/plugins/ChangeParentCoordinationTaskStatusFunction.java b/src/main/java/ru/borlas/jira/plugins/ChangeParentCoordinationTaskStatusFunction.java
  2. index 403fe46..a9c2ddc 100644
  3. --- a/src/main/java/ru/borlas/jira/plugins/ChangeParentCoordinationTaskStatusFunction.java
  4. +++ b/src/main/java/ru/borlas/jira/plugins/ChangeParentCoordinationTaskStatusFunction.java
  5. @@ -8,6 +8,7 @@ import com.atlassian.jira.issue.IssueInputParameters;
  6.  import com.atlassian.jira.issue.MutableIssue;
  7.  import com.atlassian.jira.issue.fields.CustomField;
  8.  import com.atlassian.jira.issue.status.Status;
  9. +import com.atlassian.jira.util.ImportUtils;
  10.  import com.atlassian.jira.workflow.function.issue.AbstractJiraFunctionProvider;
  11.  import com.opensymphony.module.propertyset.PropertySet;
  12.  import com.opensymphony.workflow.WorkflowException;
  13. @@ -45,20 +46,44 @@ public class ChangeParentCoordinationTaskStatusFunction extends AbstractJiraFunc
  14.          Collection<Issue> childIssues = parentIssue.getSubTaskObjects();
  15.          Boolean finalizeParent = Boolean.TRUE;
  16.          System.out.println("childIssues size = ["+childIssues.size()+"]");
  17. -        if(childIssues.size() == 0)
  18. -        {
  19. +        if(childIssues.size() == 0){
  20.              System.out.println("NO childs in parent task!!!");
  21.              return;
  22.          }
  23. +
  24.          CustomField customRoleField = customFieldManager.getCustomFieldObject(CreateCoordinationSubtasks.ROLE_CUSTOM_FIELD);
  25. +        if(customRoleField == null){
  26. +            throw new WorkflowException("Нет конфигурации для поля " + CreateCoordinationSubtasks.ROLE_CUSTOM_FIELD);
  27. +        }
  28. +
  29.          String myRole = (String) issue.getCustomFieldValue(customRoleField);
  30.  
  31. -        if(customRoleField == null) {
  32. -            throw new WorkflowException("Нет конфигурации для поля " + CreateCoordinationSubtasks.ROLE_CUSTOM_FIELD);
  33. +        if (myRole == null){
  34. +            throw new WorkflowException("В задаче " + issue.getKey() + " Не заполнено поле " + CreateCoordinationSubtasks.ROLE_CUSTOM_FIELD);
  35. +        }
  36. +
  37. +        CustomField customCycleField = customFieldManager.getCustomFieldObject(CreateCoordinationSubtasks.APPROVE_CYCLE_FIELD_ID);
  38. +
  39. +        if(customCycleField == null){
  40. +            throw new WorkflowException("Нет конфигурации для поля " + CreateCoordinationSubtasks.APPROVE_CYCLE_FIELD_ID);
  41. +        }
  42. +
  43. +        Object myCycle = parentIssue.getCustomFieldValue(customCycleField);
  44. +
  45. +        if(myCycle == null){
  46. +            throw new WorkflowException("В задаче " + issue.getKey() + " Не заполнено поле " + CreateCoordinationSubtasks.APPROVE_CYCLE_FIELD_ID);
  47.          }
  48.  
  49.          for(Issue issueChild : childIssues)
  50.          {
  51. +            Object customCycleName = issueChild.getCustomFieldValue(customCycleField);
  52. +
  53. +            if (customCycleName == null) {
  54. +                throw new WorkflowException("В задаче " + issueChild.getKey() + " не заполнено поле " + CreateCoordinationSubtasks.APPROVE_CYCLE_FIELD_ID);
  55. +            }
  56. +            if (!myCycle.equals(customCycleName)){
  57. +                continue;
  58. +            }
  59.              if(issueChild.getKey().equals(issue.getKey())) {
  60.                  continue;
  61.              }
  62. @@ -73,16 +98,35 @@ public class ChangeParentCoordinationTaskStatusFunction extends AbstractJiraFunc
  63.  
  64.              if(customRoleName.equals(myRole) && !customRoleName.equals("ТП: согласующие") && !issueStatusChild.getId().equals("10019") && !issueStatusChild.getId().equals("10017")) {
  65.                  System.out.println("change to closed issue = " + issueChild.getKey());
  66. +
  67. +                // das ist eine Magie
  68. +                // --->Start
  69. +                boolean wasIndexing = ImportUtils.isIndexIssues();
  70. +                try {
  71. +                    // Set indexing to true
  72. +                    ImportUtils.setIndexIssues(true);
  73. +                    // ----
  74. +
  75.                  changeIssueStatus(issueChild, NOT_NEED_APPROVE_ACTION);
  76.                  continue;
  77. -            }
  78.  
  79. +                } finally {
  80. +                    // Reset Indexing
  81. +                    ImportUtils.setIndexIssues(wasIndexing);
  82. +                    // --->Ende
  83. +                }
  84. +
  85. +
  86. +
  87. +            }
  88. +            Object customChildCycleName = issueChild.getCustomFieldValue(customCycleField);
  89.              String statusNameChild = issueStatusChild.getName();
  90.              System.out.println("statusNameChild = ["+statusNameChild+"]");
  91.              System.out.println("status id = [" + issueStatusChild.getId() + "]");
  92. -            if(!issueStatusChild.getId().equals("10017") && !issueStatusChild.getId().equals("10019")) {
  93. -                System.out.println("not final child issue key = [" + issueChild.getKey() + "]");
  94. -                finalizeParent = Boolean.FALSE;
  95. +
  96. +            if(!customChildCycleName.equals(myCycle)) {
  97. +                    System.out.println("not final child issue key = [" + issueChild.getKey() + "]");
  98. +                    finalizeParent = Boolean.FALSE;
  99.              }
  100.          }
  101.  
  102. @@ -103,8 +147,8 @@ public class ChangeParentCoordinationTaskStatusFunction extends AbstractJiraFunc
  103.          parentIssueParameters.setReporterId(parentIssue.getReporterId());
  104.          parentIssueParameters.setDescription(parentIssue.getDescription());
  105.          parentIssueParameters.setEnvironment(parentIssue.getEnvironment());
  106. -        if(parentIssue.getPriorityObject() != null)
  107. -        {
  108. +
  109. +        if(parentIssue.getPriorityObject() != null){
  110.              parentIssueParameters.setPriorityId(parentIssue.getPriorityObject().getId());
  111.          }
  112.          else
  113. @@ -116,8 +160,8 @@ public class ChangeParentCoordinationTaskStatusFunction extends AbstractJiraFunc
  114.          System.out.println("will change state to 161");
  115.          IssueService.TransitionValidationResult transitionValidationResult = issueService.validateTransition(parentIssue.getAssignee(), parentIssue.getId(), actionId, parentIssueParameters);
  116.          System.out.println("transitionValidationResult.isValid() = ["+transitionValidationResult.isValid()+"]");
  117. -        if(transitionValidationResult.isValid())
  118. -        {
  119. +
  120. +        if(transitionValidationResult.isValid()){
  121.              issueService.transition(parentIssue.getAssignee(), transitionValidationResult);
  122.          }
  123.          else
Add Comment
Please, Sign In to add comment