Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Delivering change set associated to a work item from one stream to another stream

 hi all


I'm trying to deliver a change set that has already been to a stream to be delivered into another stream using RTC Plain Java Client Libraries version 4.0.3.

This is the use case:
Firstly , a group of files is associated to a change set, the change set is delivered to stream A and then associated to a work item.
Secondly, I want to be able to recover the associated change set to the work item and deliver it into stream B.
I'm able to recover the associated change set to the work item but haven't been able to deliver it into the second stream. 

Has anyone done this?

Thanks
Patria

0 votes


Accepted answer

Permanent link
 hi all
hi all

I'm going to answer myself on this one: My problem was that the associated work item didn't have the following two attributes set:
Planned for and Owned by. That's why

java.lang.NullPointerException
at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:200)
was being thrown.
Every change set linked to a work item needed to be associated to a specific iteration/sprint and an owner for tracking purposes.

David Lafreniere selected this answer as the correct answer

0 votes

Comments

are those required fields in your business process?

since these would typically trigger an advisor, they don't need to be set to required in the process, however if the operational behavior is configured to require them, you can get into trouble with automation. I would however expected to see some exception that makes more sense.

You could either check your work item prior to the deliver in the API, or make sure there the required attributes are set. I am not sure you can make sure that the quality goals are met by requiring them though.

Owner is required if you want to make the workitem in progress. 
I haven't seen planned for as required by default
neither should trigger any other advisor by default.

(there are plenty of places where errors aren't quite what they need to be.. I opened a defect against report resource deployment returning the wrong exception code, it was closed,but still wrong)).

The Require Work Items and Comments deliver change set Server advisor can be set to require an ownerand being planned for (even the current iteration).


2 other answers

Permanent link
 java.lang.NullPointerException
at org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:200)
at com.ibm.team.scm.common.internal.process.AdvisorDataMarshaller.getPackageAdmin(AdvisorDataMarshaller.java:385)
at com.ibm.team.scm.common.internal.process.AdvisorDataMarshaller.marshallInto(AdvisorDataMarshaller.java:286)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemProblemObject.deflateInto(RequireWorkItemProblemObject.java:234)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemProblemObject.deflate(RequireWorkItemProblemObject.java:193)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemAdvisor.createProblem(RequireWorkItemAdvisor.java:201)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemAdvisor.addProblem(RequireWorkItemAdvisor.java:282)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemAdvisor.addProblems(RequireWorkItemAdvisor.java:187)
at com.ibm.team.filesystem.common.workitems.internal.process.RequireWorkItemAdvisor.run(RequireWorkItemAdvisor.java:131)
at com.ibm.team.filesystem.client.workitems.internal.advisors.RequireWorkItemAdvisor.run(RequireWorkItemAdvisor.java:45)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runAdvisor(OperationAdviceManager.java:1254)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runAdvisors(OperationAdviceManager.java:913)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.advise(OperationAdviceManager.java:293)
at com.ibm.team.process.internal.client.ThinClientProcess.doAdvise(ThinClientProcess.java:570)
at com.ibm.team.process.internal.client.ThinClientProcess.adviseAndExecute(ThinClientProcess.java:522)
at com.ibm.team.scm.client.internal.process.ProcessUtils$ClientProcessProxy.adviseAndExecute(ProcessUtils.java:62)
at com.ibm.team.scm.common.process.RunnableAdvisableOperation.processExec(RunnableAdvisableOperation.java:195)
at com.ibm.team.scm.common.process.RunnableAdvisableOperation.processExec(RunnableAdvisableOperation.java:176)
at com.ibm.team.scm.client.internal.WorkspaceConnection.deliver(WorkspaceConnection.java:2004)
at com.ibm.team.scm.client.internal.WorkspaceConnection.deliver(WorkspaceConnection.java:1794)
at com.bnc.rtc.foundation.service.SCMServiceImpl.deliverIntoAnotherStream(SCMServiceImpl.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:91)
at com.bnc.rtc.foundation.aspect.RTCConnectionAspect.connectToRTCRepository(RTCConnectionAspect.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy25.deliverIntoAnotherStream(Unknown Source)
at com.bnc.rtc.foundation.service.SCMServiceIntegrationITCase.migrateChangeSetToAnotherStream(SCMServiceIntegrationITCase.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)

0 votes


Permanent link
I have already read this posting, but it does not work for me, since I'm able to recover the change set handles from the work item but when delivering them I get an exception: "Deliver failed " 

any help is much appreciated!!

0 votes

Comments

can you get the stacktrace of the exception?

Do you have any operation behavior set for "Deliver" actions? I had similar probelm while setting up Distributed SCM. Only way I found was to adjust the operational behavior on both the RTC servers for specific role.


Both Delvier (server) and deliver (client)

In my case I wasn;t able to set the work item during "scm deliver" action

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 169
× 149
× 43

Question asked: May 16 '14, 4:31 p.m.

Question was seen: 5,302 times

Last updated: Oct 05 '17, 11:22 p.m.

Confirmation Cancel Confirm