existing stream to deliver and multiple files
I try to deliver new file or to update existing file from my repository workspace to existing Stream. I work snippets in plain java client.
I created a changeset and set comments and relate to workitem by IChangeSetHandle cs1 = workspace.createChangeSet(currentComponent, monitor); SCMPlatform.getWorkspaceManager(workspace.teamRepository()).setComment(cs1, "comments", monitor); IFolderHandle rootFolder = (IFolderHandle) workspace.configuration(currentComponent).rootFolderHandle(monitor); String[] nameSegments = new String; nameSegments = "project"; IVersionableHandle filePathHandle = workspace.configuration(currentComponent).resolvePath(rootFolder,nameSegments, monitor); IFolderHandle projectFolder = (IFolderHandle) filePathHandle; IFileItem file = (IFileItem) IFileItem.ITEM_TYPE.createItem(); file.setName("file2.txt"); file.setParent(projectFolder);//file.setParent(projectFolder); IFileContentManager contentManager = FileSystemCore.getContentManager(repo); IFileContent storedContent = contentManager.storeContent(IFileContent.ENCODING_US_ASCII,FileLineDelimiter.LINE_DELIMITER_PLATFORM, new VersionedContentManagerByteArrayInputStreamPovider("The contents of mhhy file.txt".getBytes()), null, monitor); file.setContentType(IFileItem.CONTENT_TYPE_TEXT); file.setContent(storedContent); file.setFileTimestamp(new Date()); workspace.commit(cs1, Collections .singletonList(workspace.configurationOpFactory().save(file)), monitor); IWorkItemClient workItemClient = (IWorkItemClient) repo.getClientLibrary(IWorkItemClient.class); IWorkItemWorkingCopyManager copyManager = workItemClient.getWorkItemWorkingCopyManager(); IWorkItem workItem = workItemClient.findWorkItemById(972, IWorkItem.FULL_PROFILE, monitor); IWorkItemHandle workItemhandle= workItemClient.findWorkItemById(972,IWorkItem.FULL_PROFILE, null); ....... IChangeHistorySyncReport sync = workspace.compareTo(workspace, WorkspaceComparisonFlags.CHANGE_SET_COMPARISON_ONLY, Collections.EMPTY_LIST, monitor); sync.outgoingChangeSets(currentComponent), monitor); I set to same values for StreamConnection and workspaceConnection because I want to deliver them to existing stream. Is it wrong or how can I set stream Connection? In addition it creates files in repository workspace. And also I wonder about to deliver. Is it possible to deliver multiple files? I can do it like workspace.configurationOpFactory().save(rootFolder) ? |
One answer
I can get stream connection and deliver to existing stream successfully. Maybe I can get stream Connection with different way. I had stream connection value like this...
List<IFlowEntry> flowEntryList = workspace.getFlowTable().deliverTargets(); IFlowEntry FlowList = flowEntryList.get(0); IFlowNodeHandle flowhandle = FlowList.getFlowNode(); IWorkspaceHandle remoteworkspaceHandle = (IWorkspaceHandle) flowhandle; IWorkspaceConnection remoteworkspace = wm.getWorkspaceConnection(remoteworkspaceHandle, null); |
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.