Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

populate cascading select for report in Jira 5.0.2 + Update the cascading select box

Rene Bäumer August 22, 2012

I have to update a plugin from Jira 3.13 to Jira 5. But I cannot find anything in the net.

The first select is given me a list of all projects and the second cascading select shows a list of all available versions. Both list are populated but the cascadingselect das not react on changes on the select.

I think, the cascading list is only pupulated right, due to the toString() method of the ValueClassHolder-class?!?

This all worked on Jira 3.13. Have anyone an idea how to solve my problem?

What I have got is this within the altassian-plugin.xml:

<properties>
	<property>
		<key>filterId</key>
		<name>report.projectsubtaskstatusreport.filterId
		</name>
		<description>report.projectsubtaskstatusreport.filterId.description
		</description>
		<type>select</type>
                <values	class="jira.reports.projectsubtaskstatus.projectpmvaluesgenerator" />
</property> <property> <key>projectVersion</key> <name>report.projectsubtaskstatusreport.projectVersion </name> <description> report.projectsubtaskstatusreport.projectVersion.description </description> <type>cascadingselect</type> <cascade-from>filterId</cascade-from> <values class="jira.reports.projectsubtaskstatus.VersionPMValuesGenerator" /> </property>

and the VersionPMValuesGenerator looks like:

public class VersionPMValuesGenerator implements ValuesGenerator {
	// public class VersionPMValuesGenerator implements ValuesGenerator{

	public Map getValues(Map arg0) {
		VersionManager versionManager = ComponentManager.getInstance().getVersionManager();
		JiraAuthenticationContext jiraAuthenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext();

		Collection<Project> projects = ComponentAccessor.getPermissionManager().getProjectObjects(Permissions.BROWSE,
				ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser());

		Map<String, ValueClassHolder> allVersions = new ListOrderedMap();
		for (Iterator<Project> iterator = projects.iterator(); iterator.hasNext();) {
			Project project = iterator.next();
			Collection<Version> versions = versionManager.getVersions(project);
			for (Iterator<Version> versionIt = versions.iterator(); versionIt.hasNext();) {
				Version version = versionIt.next();
				allVersions.put(version.getId().toString(), new ValueClassHolder(version.getName(), project.getId().toString()));
			}
		}
		return allVersions;
	}

private static class ValueClassHolder {
		private String value;
		private String className;

		public ValueClassHolder(String value, String className) {
			this.value = value;
			this.className = className;
		}

		public String getValue() {
			return value;
		}

		public String getClassName() {
			return className;
		}

		public String toString() {
			return value;
		}


3 answers

0 votes
Inhouse-Support March 18, 2013

Answering for Rene: He never got an answer, the problem is still unresolved.

0 votes
Narayana Ega January 10, 2013

I am also facing the same problem............

0 votes
Brian W
Contributor
December 11, 2012

Rene, I'm having the same issue. Were you ever able to resolve this? Thanks.

Suggest an answer

Log in or Sign up to answer