getCopyFileAreasForConfiguration method in CopyFileAreaManager returns empty list while unloading a repository workspace programmatically!

Hello Team ,
Need your suggestion in solving the problem I am facing to unload repository workspace programmatically(as described below).
And i want to unload repository workspace programmatically because i am developing a plugin(to create repo workspace , load it , accept changes in to workspace and to unload it) which will be integrated with Jenkins.
I was successful in creating a repository workspace and loading it programmatically by using the below code :
SubMonitor progress = SubMonitor.convert(monitor, 100);
IWorkspaceManager wsManager = SCMPlatform.getWorkspaceManager(repo);
IWorkspaceConnection workspace =
wsManager.createWorkspace(repo.loggedInContributor(), workspaceName, description, stream, stream,
progress.newChild(90));
workspace.setOwnerAndVisibility(IScmService.NOOP_OWNER, scope, progress.newChild(3));
addTemplateFlows(workspace, stream, progress.newChild(7));
and code to load a repository workspace :
this.sandbox = new Sandbox(repoLocation);
lrFileReader = getReaderForLRFileonDisk();
ILoadRule2 loadRule = ILoadRuleFactory.loadRuleFactory.getLoadRule(wconn, lrFileReader, monitor);
ILoadOperation loadoperator = loadRule.getLoadOp(this.sandbox, LoadDilemmaHandler.getDefault(), monitor);
loadoperator.run(monitor);
FileSystemCore.getSharingManager().deregister(this.sandbox, monitor);
When I make an attempt to unload a repository workspace as below :
SubMonitor subMonitor = SubMonitor.convert(monitor);
IWorkspaceConnection iWorkspaceConnection =
getWorkspaceConn(SCMPlatform.getWorkspaceManager(getItemRepository()), monitor,
repository_workspace_name);
List<IConfigurationDescriptor> iConfigurationDescriptorList =
unloadUbkManager.getConfigurationsToUnshare(iWorkspaceConnection, iWorkspaceConnection.getComponents());
Set<ICopyFileArea> iCopyFileAreaSet = getCFAs(iConfigurationDescriptorList, subMonitor);
Set<IConfigurationDescriptor> iConfigurationDescriptorSet =
unloadUbkManager.getAffectedConfigurations(iConfigurationDescriptorList);
Collection<Shareable> shareableCollection =
unloadUbkManager.getShareablesToUnshare(iCopyFileAreaSet, iConfigurationDescriptorSet, subMonitor);
unloadUbkManager.deleteDirectories((List<Shareable>) shareableCollection);
publicSet<ICopyFileArea> getCFAs(finalList<IConfigurationDescriptor> configurationsToUnshare,
finalSubMonitor childMonitor) throwsTeamRepositoryException {
Set<ICopyFileArea> interestingCopyFileAreas = newHashSet();
ICopyFileAreaManager cfaMgr = ICopyFileAreaManager.instance;
for(IConfigurationDescriptor configuration : configurationsToUnshare) {
try {
Collection<ICopyFileArea> copyFileAreas =
cfaMgr.getCopyFileAreasForConfiguration(configuration, childMonitor.newChild(1));
interestingCopyFileAreas.addAll(copyFileAreas);
}
catch (FileSystemException e) {
throw newTeamRepositoryException(e.getMessage());
}
}
return interestingCopyFileAreas;
}
method cfaMgr.getCopyFileAreasForConfiguration(configuration, childMonitor.newChild(1)); returns an empty list and because of which workspace is not unloaded.
Could you guide me in solving this ?
I decompiled CopyFileAreaManager.class to check the logic in getCopyFileAreasForConfiguration but the source code is not shared.
Need your suggestion in solving the problem I am facing to unload repository workspace programmatically(as described below).
And i want to unload repository workspace programmatically because i am developing a plugin(to create repo workspace , load it , accept changes in to workspace and to unload it) which will be integrated with Jenkins.
I was successful in creating a repository workspace and loading it programmatically by using the below code :
SubMonitor progress = SubMonitor.convert(monitor, 100);
IWorkspaceManager wsManager = SCMPlatform.getWorkspaceManager(repo);
IWorkspaceConnection workspace =
wsManager.createWorkspace(repo.loggedInContributor(), workspaceName, description, stream, stream,
progress.newChild(90));
workspace.setOwnerAndVisibility(IScmService.NOOP_OWNER, scope, progress.newChild(3));
addTemplateFlows(workspace, stream, progress.newChild(7));
and code to load a repository workspace :
this.sandbox = new Sandbox(repoLocation);
lrFileReader = getReaderForLRFileonDisk();
ILoadRule2 loadRule = ILoadRuleFactory.loadRuleFactory.getLoadRule(wconn, lrFileReader, monitor);
ILoadOperation loadoperator = loadRule.getLoadOp(this.sandbox, LoadDilemmaHandler.getDefault(), monitor);
loadoperator.run(monitor);
FileSystemCore.getSharingManager().deregister(this.sandbox, monitor);
When I make an attempt to unload a repository workspace as below :
SubMonitor subMonitor = SubMonitor.convert(monitor);
IWorkspaceConnection iWorkspaceConnection =
getWorkspaceConn(SCMPlatform.getWorkspaceManager(getItemRepository()), monitor,
repository_workspace_name);
List<IConfigurationDescriptor> iConfigurationDescriptorList =
unloadUbkManager.getConfigurationsToUnshare(iWorkspaceConnection, iWorkspaceConnection.getComponents());
Set<ICopyFileArea> iCopyFileAreaSet = getCFAs(iConfigurationDescriptorList, subMonitor);
Set<IConfigurationDescriptor> iConfigurationDescriptorSet =
unloadUbkManager.getAffectedConfigurations(iConfigurationDescriptorList);
Collection<Shareable> shareableCollection =
unloadUbkManager.getShareablesToUnshare(iCopyFileAreaSet, iConfigurationDescriptorSet, subMonitor);
unloadUbkManager.deleteDirectories((List<Shareable>) shareableCollection);
publicSet<ICopyFileArea> getCFAs(finalList<IConfigurationDescriptor> configurationsToUnshare,
finalSubMonitor childMonitor) throwsTeamRepositoryException {
Set<ICopyFileArea> interestingCopyFileAreas = newHashSet();
ICopyFileAreaManager cfaMgr = ICopyFileAreaManager.instance;
for(IConfigurationDescriptor configuration : configurationsToUnshare) {
try {
Collection<ICopyFileArea> copyFileAreas =
cfaMgr.getCopyFileAreasForConfiguration(configuration, childMonitor.newChild(1));
interestingCopyFileAreas.addAll(copyFileAreas);
}
catch (FileSystemException e) {
throw newTeamRepositoryException(e.getMessage());
}
}
return interestingCopyFileAreas;
}
method cfaMgr.getCopyFileAreasForConfiguration(configuration, childMonitor.newChild(1)); returns an empty list and because of which workspace is not unloaded.
Could you guide me in solving this ?
I decompiled CopyFileAreaManager.class to check the logic in getCopyFileAreasForConfiguration but the source code is not shared.