Plugin not hitting the code
I am trying to debug a plugin in eclipse. I have added the participant in the plugin.xml and have enabled the plugin in the local project area.
plugin.xml snippet for the plugin
<operationParticipant
class="com.accenture.dwp.workitem.extensions.service.participant.CreateImplTaskFromDefectParticipant"
id="com.accenture.dwp.workitem.extensions.service.CreateImplTaskFromDefectParticipant"
name="Create Impltask From Defect"
operationId="com.ibm.team.workitem.operation.workItemSave">
<extensionService
componentId="com.accenture.dwp.workitem.extensions.service"
implementationClass="com.accenture.dwp.workitem.extensions.service.participant.CreateImplTaskFromDefectParticipant">
<prerequisites>
<requiredService interface="com.ibm.team.repository.common.service.IContributorService"/>
<requiredService interface="com.ibm.team.repository.service.AbstractService"/>
<requiredService interface="com.ibm.team.workitem.service.IWorkItemServer"/>
<requiredService interface="com.ibm.team.repository.service.IRepositoryItemService"/>
<requiredService interface="com.ibm.team.workitem.service.IAuditableServer"/>
<requiredService interface="com.ibm.team.links.common.service.ILinkService"/>
</prerequisites>
</extensionService>
</operationParticipant.
and the process configuration source
<followup-action id="com.accenture.dwp.workitem.extensions.service.createImplTaskFromDefectParticipant" name="Create Impltask From Defect">
<work-item-types>
<work-item-type>defect</work-item-type>
</work-item-types>
<supplier-name>Accenture</supplier-name>
<supplier-id>supplier</supplier-id>
<target-work-item-id>com.accenture.dwp.workitem.workItemType.implementationtask</target-work-item-id>
<target-work-item-category>Category 1</target-work-item-category>
<source-work-item-old-state>com.ibm.team.workitem.defectWorkflow.state.s8</source-work-item-old-state>
<source-work-item-new-state>com.ibm.team.workitem.defectWorkflow.state.s9</source-work-item-new-state>
<target-work-item-project-area>UC Accenture Test</target-work-item-project-area>
<taget-work-item-user>cqsync</taget-work-item-user>
</followup-action>
The debug configuration has the features and bundles added. Enabled the plugin in the local project area. However when I save a defect in that project area, the plugin code is not hit at all. Wondering what could be the issue . Appreciate your help.
plugin.xml snippet for the plugin
<operationParticipant
class="com.accenture.dwp.workitem.extensions.service.participant.CreateImplTaskFromDefectParticipant"
id="com.accenture.dwp.workitem.extensions.service.CreateImplTaskFromDefectParticipant"
name="Create Impltask From Defect"
operationId="com.ibm.team.workitem.operation.workItemSave">
<extensionService
componentId="com.accenture.dwp.workitem.extensions.service"
implementationClass="com.accenture.dwp.workitem.extensions.service.participant.CreateImplTaskFromDefectParticipant">
<prerequisites>
<requiredService interface="com.ibm.team.repository.common.service.IContributorService"/>
<requiredService interface="com.ibm.team.repository.service.AbstractService"/>
<requiredService interface="com.ibm.team.workitem.service.IWorkItemServer"/>
<requiredService interface="com.ibm.team.repository.service.IRepositoryItemService"/>
<requiredService interface="com.ibm.team.workitem.service.IAuditableServer"/>
<requiredService interface="com.ibm.team.links.common.service.ILinkService"/>
</prerequisites>
</extensionService>
</operationParticipant.
and the process configuration source
<followup-action id="com.accenture.dwp.workitem.extensions.service.createImplTaskFromDefectParticipant" name="Create Impltask From Defect">
<work-item-types>
<work-item-type>defect</work-item-type>
</work-item-types>
<supplier-name>Accenture</supplier-name>
<supplier-id>supplier</supplier-id>
<target-work-item-id>com.accenture.dwp.workitem.workItemType.implementationtask</target-work-item-id>
<target-work-item-category>Category 1</target-work-item-category>
<source-work-item-old-state>com.ibm.team.workitem.defectWorkflow.state.s8</source-work-item-old-state>
<source-work-item-new-state>com.ibm.team.workitem.defectWorkflow.state.s9</source-work-item-new-state>
<target-work-item-project-area>UC Accenture Test</target-work-item-project-area>
<taget-work-item-user>cqsync</taget-work-item-user>
</followup-action>
The debug configuration has the features and bundles added. Enabled the plugin in the local project area. However when I save a defect in that project area, the plugin code is not hit at all. Wondering what could be the issue . Appreciate your help.
2 answers
debug in eclipse? the server side plugin, right?
so you started the server in debug mode
and you built a debug run config to connect the eclipse client to the server for debugging
to start the server in debug mode, you have to add some config to the startup.bat
set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=3388
then the debug client configuration
a remote java aplication configuration, with
remote attach and port = 3388
so, you start the server in debug
then start a debug session on this port
then cause the operation that invokes the server code
so you started the server in debug mode
and you built a debug run config to connect the eclipse client to the server for debugging
to start the server in debug mode, you have to add some config to the startup.bat
set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=3388
then the debug client configuration
a remote java aplication configuration, with
remote attach and port = 3388
so, you start the server in debug
then start a debug session on this port
then cause the operation that invokes the server code
Comments
I am using Jetty server and have deployed the features into the jetty server, I can see form the process configuration source for project area that, the plugin has been enabled, however when the server is started and after I login to the project area, when I save a defect which is the operation , the defect is saved without hitting the code.
One common issue is a misunderstanding about Process behavior lookup in Rational Team Concert when configuring - please carefully follow the link.
If you configure e.g. for "everyone" but your role is admin and it has other behavior configured for this operation (e.g. save work item) that prevents the look up from checking for "everyone". In addition you can configure behavior for iterations, iteration types etc. too which can contribute to misunderstanding what should happen.
Most of the cases where users claimed that their operation behavior was not working/triggered at all dealt with the above issues.
If you configure e.g. for "everyone" but your role is admin and it has other behavior configured for this operation (e.g. save work item) that prevents the look up from checking for "everyone". In addition you can configure behavior for iterations, iteration types etc. too which can contribute to misunderstanding what should happen.
Most of the cases where users claimed that their operation behavior was not working/triggered at all dealt with the above issues.