Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用RTC源代码管理获取已更改文件的文件名、位置和作者_Java_Clearcase_Rtc - Fatal编程技术网

Java 使用RTC源代码管理获取已更改文件的文件名、位置和作者

Java 使用RTC源代码管理获取已更改文件的文件名、位置和作者,java,clearcase,rtc,Java,Clearcase,Rtc,我正在尝试访问给定流中已更改文件的文件名、位置和作者。下面的代码是我到目前为止的代码。看看api文档,这似乎是不可能的?这可以通过JavaAPI或其他方法实现吗 IChangeSetSearchCriteria c = IChangeSetSearchCriteria.FACTORY.newInstance(); WorkspaceManager mgr = (WorkspaceManager) SCMPlatform.getWorkspaceManager(re

我正在尝试访问给定流中已更改文件的文件名、位置和作者。下面的代码是我到目前为止的代码。看看api文档,这似乎是不可能的?这可以通过JavaAPI或其他方法实现吗

        IChangeSetSearchCriteria c = IChangeSetSearchCriteria.FACTORY.newInstance();
        WorkspaceManager mgr = (WorkspaceManager) SCMPlatform.getWorkspaceManager(repo);
        IWorkspaceSearchCriteria criteria = IWorkspaceSearchCriteria.FACTORY.newInstance();
        criteria.setKind(IWorkspaceSearchCriteria.STREAMS);
        criteria.setExactName("mystream"); 

注意:尽量不要直接使用流名称,因为一个流可以重命名,或者另一个流可以具有相同的名称。
更多信息,请参阅

如果它们在命令行上运行,那么您可以获取流的UUID,从中创建句柄,并在搜索条件中设置值(尽管您可能希望首先获取流,因为用户可能有输入错误)

用于从UUID转换为ItemHandle

workspaceHandle = (IWorkspaceHandle)IWorkspace.ITEM_TYPE.createItemHandle(workspaceID, null);
关于列出变更集的内容,提供了一些线索:

如果versionable表示一个文件,则它将是
IFileItem
的一个实例,该实例具有与其关联的内容对象。
您可以从内容对象获取内容的流

同样,获取变更集(如中所示)是确保获取所有数据的关键


注意:采用RESTAPI路由可能更容易:
你的问题是一个帖子

Request URL:https://jazzServer/jazz/oslc-scm/changeSet?jazz_scm:workspaceId=_OQt98EyrEeGAvYGjhK23_g&jazz_scm:maxResults=25&jazz_scm:changeKind=31
Request Method:POST
Cookie:SaveStateCookie=undefined%2Ccom.ibm.team.workitem.category%2Ccom.ibm.teamz.dsdef.category%2Ccom.ibm.team.dashboard.category%2Ccom.ibm.team.dashboard.category~%23_~%23com.ibm.team.dashboard.server.saveTeamDashboard; JSESSIONID=BF3DA3D5E0FCA16193876307E91A5471; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=VonC; JSESSIONIDSSO=05626E20EC4F6DB231759EFC4DB69785
Host:jazzServer
Origin:https://jazzServer
Referer:https://jazzServer/jazz/web/projects/My%2°RTC%20Project

Form Dataview URL encoded
{"propertyRequest":{"jazz_scm:lastModified":null,"jazz_scm:creator":{"dcterms:name,rdf:resource":null},"jazz_scm:reasons":{"dcterms:title,rdf:resource":null},"jazz_scm:relatedArtifacts":{"dcterms:title,dcterms:description,rdf:resource,jazz_scm:linkTypeId,oslc_scm:mimeType":null}}}:
这将返回:

{jazz_scm:firstTimestamp:1350975540822, jazz_scm:lastTimestamp:1350285276229,…}
jazz_scm:firstTimestamp: 1350975540822
jazz_scm:lastTimestamp: 1350285276229
jazz_scm:results: [{rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVEeK_Q6KSNVybvA,…},…]
    0: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVDeK_Q6KSNVybvA,…}
    dcterms:description: "Check-in of xslts into RTC taken from UAT server."
    dcterms:identifier: "itemOid/com.ibm.team.scm.ChangeSet/__KSygRzVDeK_Q6KSNVybvA"
    dcterms:modified: 1350975540822
    dcterms:name: null
    dcterms:type: "com.ibm.team.scm.changeSet"
    jazz_scm:creator: {,…}
        dcterms:description: null
        dcterms:identifier: "itemOid/com.ibm.team.repository.Contributor/_YakgYGUUEeCXgMjSYYyTpw"
        dcterms:modified: 1321511726283
        dcterms:name: "a User"
        dcterms:type: "com.ibm.team.scm.contributor"
    jazz_scm:itemId: "_YakgYGUUEeCXgMjSYYyTpw"
    jazz_scm:itemType: "com.ibm.team.repository.Contributor"
    prefixes: {dcterms:http://purl.org/dc/elements/1.1/, rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#,…}
    qname: "jazz_scm:Contributor"
    rdf:resource: "https://jazzServer/jazz/oslc-scm/itemOid/com.ibm.team.repository.Contributor/_YakgYGUUEeCXgMgSYYyTpw"
    jazz_scm:itemId: "__KSygRzVDeK_Q6KSNVybvA"
    jazz_scm:itemType: "com.ibm.team.scm.ChangeSet"
    jazz_scm:lastModified: null
    jazz_scm:reasons: [{rdf:resource:itemName/com.ibm.team.workitem.WorkItem/258061,…}]
    jazz_scm:relatedArtifacts: []
    prefixes: {dcterms:http://purl.org/dc/elements/1.1/, rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#,…}
    qname: "oslc_scm:ChangeSet"
    rdf:resource: "https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVEeK_Q6KSNVybvA"
1: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/_Pg_RMRwzEeK_Q6KSNVybvA,…}
2: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/_3L3gcRwyEeK_Q6KSNVybvA,…}
....
使用流的
\u OQt98EyrEeGAvYGjhK23\u g
工作空间项ID
(流是元素“
”设置为true的工作空间!)

您可以通过以下查询获取流的WorkspaceItemId:

Request URL:https://jazzServer/jazz/service/com.ibm.team.scm.common.internal.rest.IScmRestService2/searchWorkspaces?workspaceName=A%20STREAM%20NAME&workspaceNameKind=partial%20ignorecase&maxResultSize=50&workspaceKind=both
Request Method:GET
Cookie:SaveStateCookie=undefined%2Ccom.ibm.team.workitem.category%2Ccom.ibm.teamz.dsdef.category%2Ccom.ibm.team.dashboard.category%2Ccom.ibm.team.dashboard.category~%23_~%23com.ibm.team.dashboard.server.saveTeamDashboard; JSESSIONID=BF3DA3D5E0FCA16193876307E91A5471; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=VonC; JSESSIONIDSSO=05626E20EC4F6DB231759EFC4DB69785
Host:jazzServer
Referer:https://jazzServer/jazz/web/projects/A%20STREAM%20NAME
X-Requested-With:XMLHttpRequest
Query String Parametersview URL encoded
workspaceName:A STREAM NAME
workspaceNameKind:partial ignorecase
maxResultSize:50
workspaceKind:both
将返回的结果包括:

<workspaces>
    <workspace itemId="_OQt98EyrEeGAvYGjhK23_g" properties="">
        <stateId>_-flUwBwpEeK_Q6KSNVybvA</stateId>
        <immutable>true</immutable>
        <contextId>_Dp6kMdwTEd2jUupDpEV1Rw</contextId>
        <modified>2012-10-32T10:22:18.766Z</modified>
        <name>A Stream Name</name>
        <stream>true</stream>
        <description>a stream</description>
        <time>109</time>
        <customContext xsi:nil="true"/>
        <normalizedName>a stream name</normalizedName>
        <readPermissionMode>0</readPermissionMode>
        <modifiedBy itemId="_Y70gkCYmEeGAvYGjhJ23_g"/>
        <owner itemId="_ICt_wDL6EeGeLde_4UGHCg" xsi:type="process:ProjectAreaHandle"/>
        <flows>
           ...

_-FluwBeek_Q6KSNVybvA
真的
_Dp6kMdwTEd2jUupDpEV1Rw
2012-10-32T10:22:18.766Z
流名称
真的
溪流
109
流名称
0
...

getVersionable方法未在link中实现,我无法找到如何在jazz文档中实现它。你知道getVersionable应该如何实现吗?@user470184不知道。明天我将深入挖掘Jazz RTC插件源代码,看看能找到什么。我想我应该尝试使用rest API,至少我可以嗅探通过web客户端发送的GET请求,并尝试有问题地mimc这些请求,你认为这是更好的解决方案吗?java API似乎没有很好的设计/文档化,至少在访问更改集详细信息时是这样?@user470184我同意REST API选项。请参阅我编辑的答案以获取一些线索。您是否能够获取这些文件的历史记录?你能帮我做同样的事吗。