@Override public boolean hasScreen() { return StringUtils.isNotBlank(getActionDescriptor().getView()); }
@Override public Set<String> getClassnamesForScreenFromAction(ActionDescriptor action) { Set<String> classNames = new HashSet<String>(); if(FIELDSCREEN_VIEW.equals(action.getView()) && action.getMetaAttributes().containsKey(WorkflowScreensHelper.FIELDSCREEN_ID_NAME)) { String screenId = (String) action.getMetaAttributes().get(FIELDSCREEN_ID_NAME); classNames.addAll(getClassnamesForScreen(screenId)); } return classNames; }
@Override public void updateWorkflowScreenIds(ConfigurableJiraWorkflow jiraWorkflow, Map<Long, Long> oldToNewIdMapping) { Collection<ActionDescriptor> allActions = jiraWorkflow.getAllActions(); for (ActionDescriptor action : allActions) { if(FIELDSCREEN_VIEW.equals(action.getView()) && action.getMetaAttributes().containsKey(FIELDSCREEN_ID_NAME)) { String screenId = (String) action.getMetaAttributes().get(FIELDSCREEN_ID_NAME); if(StringUtils.isNumeric(screenId)) { Long oldScreenId = Long.parseLong(screenId); if(oldToNewIdMapping.containsKey(oldScreenId)) { action.getMetaAttributes().put(FIELDSCREEN_ID_NAME,Long.toString(oldToNewIdMapping.get(oldScreenId))); } } } } }
@Override public String[] getCustomFieldIdsForWorkflowScreens(JiraWorkflow workflow) { Set<String> ids = new HashSet<String>(); Collection<ActionDescriptor> allActions = workflow.getAllActions(); for (ActionDescriptor action : allActions) { if(FIELDSCREEN_VIEW.equals(action.getView()) && action.getMetaAttributes().containsKey(FIELDSCREEN_ID_NAME)) { String screenId = (String) action.getMetaAttributes().get(FIELDSCREEN_ID_NAME); if(StringUtils.isNumeric(screenId)) { FieldScreen screen = fieldScreenManager.getFieldScreen(Long.parseLong(screenId)); for(FieldScreenTab tab : screen.getTabs()) { List<FieldScreenLayoutItem> items = tab.getFieldScreenLayoutItems(); for(FieldScreenLayoutItem item : items) { ids.add(item.getFieldId()); } } } } } return ids.toArray(new String[0]); }
public FieldScreen getFieldScreenForView(ActionDescriptor actionDescriptor) String view = actionDescriptor.getView(); if (TextUtils.stringSet(view))
for (ActionDescriptor action : allActions) if(FIELDSCREEN_VIEW.equals(action.getView()) && action.getMetaAttributes().containsKey(FIELDSCREEN_ID_NAME))
if (StringUtils.isNotEmpty(actionDescriptor.getView()))