Changes in plain API between 3.0.1 and 4.0
Hi,
I've a code that perform check-in operation using plain API. This work correctly both on RTC 2.0.0.x and RTC 3.0.1.x.
I'm working on a migration to version 4.0 and everything seems good (no change of methods or error in compilation) but when I try to run the code I've this exception:
Exception in thread "main" TeamRepositoryException Unable to check in /TestProject/src/it/nexen/test/HelloWorld.java. Unable to resolve the repository connection for workspace load_rw com.ibm.team.filesystem.client.FileSystemException: Unable to check in /TestProject/src/it/nexen/test/HelloWorld.java. Unable to resolve the repository connection for workspace load_rw
at com.ibm.team.filesystem.client.internal.checkin.NewCheckInOperation.requestCheckin(NewCheckInOperation.java:428)
at it.nexen.rtc.task.Versioning.CheckIn(Versioning.java:351)
at it.nexen.rtc.task.Versioning.execute(Versioning.java:200)
at it.nexen.rtc.task.test.VersioningTest.main(VersioningTest.java:26)
at it.nexen.rtc.task.Versioning.execute(Versioning.java:202)
at it.nexen.rtc.task.test.VersioningTest.main(VersioningTest.java:26)
My piece of code is:
ICheckinOperation cio = IOperationFactory.instance.getCheckinOperation(CommitDilemmaHandler.getDefault(),IRepositoryResolver.EXISTING_SHARED);
String csComment = (buildAttribute==null) ? "CHECK-IN COMPILAZIONE" : buildAttribute;
IChangeSetHandle csh = iwc.createChangeSet(component, csComment, true, null);
cio.requestCheckin(shareableList , csh, "Compilazione relativa alla UDC " + ID, null);
shareable list is obtained using ILocalChangeManager.getPendingChanges method.
Does anyone knows what has been changed in ICheckinOperation?
Thanks,
Michele.
2 answers
Yes, I've solved it.
You have to define a new resolver in your class:
private IRepositoryResolver resolver = new IRepositoryResolver() {
public ITeamRepository getRepoFor(String uri, UUID id) {
// Return the repository to be used
return repo;
}
};
And then use it on the getCheckinOperation like this:
ICheckinOperation cio = IOperationFactory.instance.getCheckinOperation(CommitDilemmaHandler.getDefault(),resolver);
ICheckinOperation and IOperationFactory are not public API and are subject to change between releases. The documentation for the Java public API for client-side integration can be found in the "Plain Java Client Libraries API documentation" link on the RTC download page on jazz.net: https://jazz.net/downloads/rational-team-concert/releases/4.0?p=allDownloads
If you want to automate loading and checking in changes you could consider using the SCM CLI and it's new (as of 4.0) JSON output format:
https://jazz.net/library/article/1031/
If you want to automate loading and checking in changes you could consider using the SCM CLI and it's new (as of 4.0) JSON output format:
https://jazz.net/library/article/1031/
Comments
Michele Pegoraro
Dec 07 '12, 10:25 a.m.Michele Pegoraro
Dec 07 '12, 10:26 a.m.SEC Servizi
Apr 14 '15, 5:43 a.m.SEC Servizi
Apr 14 '15, 12:19 p.m.