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

sync rule to include a default Category (Filed Against)

Hi,

I am trying to set up my sync rule such that the Filed Against attribute for the work item will get set to a specific default value, regardless of any settings in the ClearQuest record. I created the following Property/Value Mappings:



<propertyMapping>
<externalPropertyName></externalPropertyName>
<itemPropertyName>Category</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
<transformExtension>com.ibm.team.interop.service.managers.workitem.CategoryValueTransformer</transformExtension>
<valueMappings>
<valueMapping>
<externalValue></externalValue>
<itemValue>CQ IMCS</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>


However, all of my syncs are failing with the error:

Incoming at 6/23/09 3:31:34 PM EDT
Error occurred:
java.lang.RuntimeException: The value "CQ IMCS" for property "Category" is invalid; it must be a single item identifier (UUID)

at com.ibm.team.interop.service.AbstractInteropItemManager.decodeReferences(AbstractInteropItemManager.java:270)

at com.ibm.team.interop.service.managers.workitem.InteropWorkItemManager.setProperty(InteropWorkItemManager.java:1354)

at com.ibm.team.interop.service.managers.workitem.InteropWorkItemManager.saveState(InteropWorkItemManager.java:523)

at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:618)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)

at $Proxy223.saveState(Unknown Source)

at com.ibm.team.interop.service.internal.ItemManagerProxy.saveState(ItemManagerProxy.java:124)

at com.ibm.team.interop.service.internal.InteropService.doSynchronizeIncoming(InteropService.java:3644)

at com.ibm.team.interop.service.internal.InteropService.processIncoming(InteropService.java:2056)

at sun.reflect.GeneratedMethodAccessor219.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:618)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)

at $Proxy138.processIncoming(Unknown Source)

at com.ibm.team.interop.service.internal.ProxySyncTask.processRequest(ProxySyncTask.java:431)

at com.ibm.team.interop.service.internal.ProxySyncTask.processRequestQueue(ProxySyncTask.java:389)

at com.ibm.team.interop.service.internal.ProxySyncTask.transactionSucceeded(ProxySyncTask.java:258)

at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:618)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:378)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:364)

at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)

at $Proxy140.transactionSucceeded(Unknown Source)

at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.transactionSucceeded(AsynchronousTaskSchedulerService.java:559)

at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.executeTask(AsynchronousTaskSchedulerService.java:567)

at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.runTask(AsynchronousTaskRunner.java:118)

at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.run(AsynchronousTaskRunner.java:92)

at java.lang.Thread.run(Thread.java:810)


I don't understand what this error is telling me. The "CQ IMCS" Category is definitely defined in my Project Area.

Thanks,
Chris

0 votes



3 answers

Permanent link
So I found this information:

https://jazz.net/wiki/bin/view/Main/CQConnectorFAQ#Incoming_sync_error_invalid_UUID

which indicates that my mapping is failing because the map isn't properly identifying the UUID of the Category. How do I determine the UUID of the Category? None of the 3 techniques typically used for syncing the category are what I want to do, because as I mentioned, I would like to set all new synced objects to a specific Category.

0 votes


Permanent link
Adding value mappings to a property mapping that uses the category value transformer is not supported in RTC 1.0.X.X, but it is in RTC 2.0. See this work item for the details:

https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/56728

The mapping you posted will almost work in RTC 2.0; the only thing you'd need to change is to assign some external property name that doesn't actually exist as a CQ field (e.g. "dummy"). It turns out that the name cannot be empty, or the mapping will be ignored.

0 votes


Permanent link
Ahh, tricky. :wink: I don't think I would have thought of that. I am actually using 2.0 Beta 2, so the change you suggested works great. Thanks a lot.

0 votes

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

Question asked: Jun 23 '09, 4:19 p.m.

Question was seen: 4,951 times

Last updated: Jun 23 '09, 4:19 p.m.

Confirmation Cancel Confirm