Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.intenso.jira.plugins.tms.action;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collection;
- import java.util.List;
- import com.atlassian.crowd.embedded.api.Group;
- import com.atlassian.jira.component.ComponentAccessor;
- import com.atlassian.jira.issue.CustomFieldManager;
- import com.atlassian.jira.issue.fields.CustomField;
- import com.atlassian.jira.issue.search.SearchRequest;
- import com.atlassian.jira.issue.search.SearchRequestManager;
- import com.atlassian.jira.project.Project;
- import com.atlassian.jira.project.ProjectManager;
- import com.atlassian.jira.security.groups.GroupManager;
- import com.atlassian.jira.security.roles.ProjectRole;
- import com.atlassian.jira.security.roles.ProjectRoleManager;
- import com.atlassian.jira.user.ApplicationUser;
- import com.atlassian.jira.user.util.UserManager;
- import com.atlassian.jira.web.action.JiraWebActionSupport;
- import com.atlassian.plugin.webresource.UrlMode;
- import com.intenso.jira.plugins.tms.service.template.imports.ImportTctProgress;
- import com.intenso.jira.plugins.tms.service.template.imports.ImportTctService;
- import com.intenso.jira.plugins.tms.service.TmsConfig;
- import com.intenso.jira.plugins.tms.service.TmsService;
- public class TctImportSetupPage extends JiraWebActionSupport {
- private static final long serialVersionUID = -8673359392616035330L;
- private static final String INPUT_FILE_NAME = "input-file-name";
- private static final String DEFAULT_CSV_FIELD_DELIMITER = ",";
- private static final String DONE = "done";
- private static final String PROGRESS = "progress";
- private static final String DYNAMIC_TABLE_CUSTOM_FIELD = "com.intenso.jira.plugins.suiTest:dyntable-dynamicTable";
- private ImportTctService importTctService;
- private GroupManager groupManager;
- private ProjectRoleManager projectRoleManager;
- private ProjectManager projectManager;
- private UserManager userManager;
- private CustomFieldManager customFieldManager;
- private String errorMessage;
- private TmsService tmsService;
- private List<String> canImportTestCaseRolesList;
- private List<String> canImportTestCaseGroupsList;
- private String canImportTestCaseUsersArray;
- private List<String>canImportTestCaseUsersList;
- private String[] canImportTestCaseRolesArray = new String[] {};
- private String[] canImportTestCaseGroupsArray = new String[] {};
- private List<Group> groups;
- private List<ProjectRole> projectRoles;
- private String delimiter;
- private String resultCf;
- private Long filterId;
- private String stepsCf;
- public TctImportSetupPage(ProjectManager projectManager, UserManager userManager, CustomFieldManager customFieldManager,TmsService tmsService,ProjectRoleManager projectRoleManager,GroupManager groupManager) {
- this.projectManager = projectManager;
- this.userManager = userManager;
- this.customFieldManager = customFieldManager;
- this.tmsService=tmsService;
- this.projectRoleManager=projectRoleManager;
- this.groupManager=groupManager;
- }
- public String doPermission() {
- //Save permission settings
- /*
- * save canImportTestCaseRolesArray
- * canImportTestCaseGroupsArray
- * canImportTestCaseUsersArray
- */
- TmsConfig config=this.tmsService.getConfig();
- config.setCanImportTestCaseGroups(Arrays.asList(canImportTestCaseGroupsArray));
- config.setCanImportTestCaseRoles(Arrays.asList(canImportTestCaseRolesArray));
- config.setCanImportTestCaseUsers(Arrays.asList(canImportTestCaseUsersArray.split(",")));
- tmsService.saveConfig(config);
- return getRedirect("/secure/admin/TctImportSetupPage.jspa");
- }
- @Override
- protected String doExecute() throws Exception {
- TmsConfig config=tmsService.getConfig();
- this.canImportTestCaseGroupsList=config.getCanImportTestCaseGroups();
- this.canImportTestCaseRolesList=config.getCanImportTestCaseRoles();
- this.canImportTestCaseUsersList=config.getCanImportTestCaseUsers();
- if(canImportTestCaseUsersList!=null){
- StringBuilder sb=new StringBuilder();
- int i=0;
- for(String uk:canImportTestCaseUsersList){
- if(i>0)sb.append(",");
- sb.append(uk);
- i++;
- }
- canImportTestCaseUsersArray = sb.toString();
- }
- setErrorMessage(null);
- return INPUT_FILE_NAME;
- }
- public String doExport() {
- if (delimiter == null || delimiter.equals("")) {
- delimiter = ",";
- }
- if (filterId == -1) {
- return getRedirect("/secure/admin/TctImportSetupPage.jspa");
- }
- if (stepsCf.equals("-1")) {
- return getRedirect("/secure/admin/TctImportSetupPage.jspa");
- }
- importTctService = ComponentAccessor.getOSGiComponentInstanceOfType(ImportTctService.class);
- // importTctService.exportIssues(filterId, outputFileName, delimiter);
- return getRedirect("/plugins/servlet/exportIssues?filterId=" + filterId + "&delimiter=" + delimiter + "&stepsCf=" + stepsCf + "&cf=" + resultCf, true);
- }
- public Collection<SearchRequest> getFilters(){
- SearchRequestManager searchRequestManager = ComponentAccessor.getOSGiComponentInstanceOfType(SearchRequestManager.class);
- return searchRequestManager.getAllOwnedSearchRequests(getLoggedInApplicationUser());
- }
- public String getDefaultCsvFieldDelimiter() {
- return DEFAULT_CSV_FIELD_DELIMITER;
- }
- public String doProgress() {
- ImportTctProgress progress = getImportTctService().getImportProgress();
- synchronized (progress) {
- boolean startDateIsNull = progress.getStartDate() == null;
- boolean endDateIsNull = progress.getEndDate() == null;
- if (!startDateIsNull && !endDateIsNull && progress.getEndDate().after(progress.getStartDate())) {
- setErrorMessage(progress.getErrorMessage());
- progress.setErrorMessage(null);
- progress.endImport();
- return DONE;
- } else {
- return PROGRESS;
- }
- }
- }
- public ImportTctProgress getCurrentCopyProgress() {
- return getImportTctService().getImportProgress();
- }
- public ImportTctService getImportTctService() {
- if (importTctService == null) {
- importTctService = ComponentAccessor.getOSGiComponentInstanceOfType(ImportTctService.class);
- }
- return importTctService;
- }
- public List<Project> getProjects() {
- return projectManager.getProjectObjects();
- }
- public Collection<ApplicationUser> getUsers() {
- return userManager.getUsers();
- }
- public List<CustomField> getDynamicTableCfs() {
- List<CustomField> customFields = customFieldManager.getCustomFieldObjects();
- List<CustomField> dynamicTableCustomFields = new ArrayList<>(customFields.size());
- for (CustomField customField : customFields) {
- if (DYNAMIC_TABLE_CUSTOM_FIELD.equals(customField.getCustomFieldType().getKey())) {
- dynamicTableCustomFields.add(customField);
- }
- }
- return dynamicTableCustomFields;
- }
- public List<CustomField> getCustomFields() {
- return customFieldManager.getCustomFieldObjects();
- }
- public String getErrorMessage() {
- return errorMessage;
- }
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
- public String getExampleCSVURL() {
- return ComponentAccessor.getWebResourceManager().getStaticPluginResource("com.intenso.jira.plugins.suiTest:treeTable.resource", "data/ExampleFileImportTestCaseTemplate.csv", UrlMode.AUTO);
- }
- public String getAddress(){
- return getClass().getSimpleName();
- }
- public List<String> getCanImportTestCaseRolesList() {
- return canImportTestCaseRolesList;
- }
- public void setCanImportTestCaseRolesList(
- List<String> canImportTestCaseRolesList) {
- this.canImportTestCaseRolesList = canImportTestCaseRolesList;
- }
- public List<String> getCanImportTestCaseGroupsList() {
- return canImportTestCaseGroupsList;
- }
- public void setCanImportTestCaseGroupsList(
- List<String> canImportTestCaseGroupsList) {
- this.canImportTestCaseGroupsList = canImportTestCaseGroupsList;
- }
- public String getCanImportTestCaseUsersArray() {
- return canImportTestCaseUsersArray;
- }
- public void setCanImportTestCaseUsersArray(String canImportTestCaseUsersArray) {
- this.canImportTestCaseUsersArray = canImportTestCaseUsersArray;
- }
- public List<String> getCanImportTestCaseUsersList() {
- return canImportTestCaseUsersList;
- }
- public void setCanImportTestCaseUsersList(
- List<String> canImportTestCaseUsersList) {
- this.canImportTestCaseUsersList = canImportTestCaseUsersList;
- }
- public TmsService getTmsService() {
- return tmsService;
- }
- public void setTmsService(TmsService tmsService) {
- this.tmsService = tmsService;
- }
- public List<ProjectRole> getProjectRoles() {
- if (projectRoles == null) {
- projectRoles = new ArrayList<>(projectRoleManager.getProjectRoles());
- }
- return projectRoles;
- }
- public List<Group> getGroups() {
- if (groups == null) {
- groups = new ArrayList<>(groupManager.getAllGroups());
- }
- return groups;
- }
- public String[] getCanImportTestCaseRolesArray() {
- return canImportTestCaseRolesArray;
- }
- public void setCanImportTestCaseRolesArray(String[] canImportTestCaseRolesArray) {
- this.canImportTestCaseRolesArray = canImportTestCaseRolesArray;
- }
- public String[] getCanImportTestCaseGroupsArray() {
- return canImportTestCaseGroupsArray;
- }
- public void setCanImportTestCaseGroupsArray(
- String[] canImportTestCaseGroupsArray) {
- this.canImportTestCaseGroupsArray = canImportTestCaseGroupsArray;
- }
- public String getDelimiter() {
- return delimiter;
- }
- public void setDelimiter(String delimiter) {
- this.delimiter = delimiter;
- }
- public Long getFilterId() {
- return filterId;
- }
- public void setFilterId(Long filterId) {
- this.filterId = filterId;
- }
- public String getResultCf() {
- return resultCf;
- }
- public void setResultCf(String resultCf) {
- this.resultCf = resultCf;
- }
- public String getStepsCf() {
- return stepsCf;
- }
- public void setStepsCf(String stepscf) {
- this.stepsCf = stepscf;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement