How to programmatically add value to an Enumeration?
![]()
Hi,
I'm developing a client that need to add values to an enumeration if they didn't exists (change the process configuration programmatically ). I'm able to get the IEnumeration object using client library, something like this:
But I didn't figure it out how to add a new value (literal and display name) to this enumeration. I think that I'll need to use IProcessClientService to get IClientProcess then finally get an IProcessConfigurationData. Or I use IProcessItemService to obtain an IProcessDefinition... But this is as far as I can get. Any suggestions? |
7 answers
![]()
Hello Eduardo,
I am interested to programmaticaly add a value to an enumeration as well. Have you managed to do this?
Thank You!
Andrada
|
![]()
Hi Nick,
these API works correctly in the sense that the process source configuration is changed. But in order to use the new configuration it seems to be necessary to "refresh" the project area using eclipse client. In my case if I open process configuration I find all the modification I've made but if I try to create a new work-item this work-item does not see them. Is there some refresh operation that must be performed in order to work? Other question: I can use getProcessSpecification() methods both on IProcessDefinitionWorkingCopy (obtained from the project area) and IProjectAreaWorkingCopy. Which of them is correct in order to modify the project area configuration? Thanks, Michele. |
![]()
To get the IWorkingCopyManager mentioned above, you can use helpers like the following (taken from the Process test suites):
where getRepository() returns the ITeamRepository representing the connection to your repo. |
![]()
I've not used this myself, but it appears the process specification can be accessed, modified and saved via the process area working copies API.
e.g. com.ibm.team.process.client.workingcopies.IWorkingCopyManager.getWorkingCopy(IProcessItem) IProjectAreaWorkingCopy extends IProcessAreaWorkingCopy, IProcessContainerWorkingCopy com.ibm.team.process.client.workingcopies.IProcessContainerWorkingCopy.getProcessSpecification() --> IDocument org.eclipse.jface.text.IDocument.get() --> String org.eclipse.jface.text.IDocument.set(String) com.ibm.team.process.client.workingcopies.IProcessItemWorkingCopy.save(IProgressMonitor) |
![]() Anyone? This post helped me: https://jazz.net/forums/viewtopic.php?t=14847 Thank you... Actually I did participate on the post that you mentioned, helping someone else. But my case is a little bit different. I want to add a new value for an existing enumeration. Anyway, thank you very much for trying to help me. |
![]() Anyone? This post helped me: https://jazz.net/forums/viewtopic.php?t=14847 |
|