Java 如何为上传的内容设置任意版本号?

Java 如何为上传的内容设置任意版本号?,java,transactions,alfresco,versioning,alfresco-webscripts,Java,Transactions,Alfresco,Versioning,Alfresco Webscripts,我正在开发一个内容上传器,它代表一个。也许说“updater”更为正确,因为内容已经存在于存储库中,但可能没有cm:versionable特性。我需要更新此内容并设置正确的版本号(例如,任意) 我注意到第一次上传总是得到编号1.0 例如,假设内容模型没有cm:versionable特性。我可以通过这种方式添加它并指定我需要的版本号(1.1): 当我调试这个解决方案时,我可以看到我得到了我需要的版本 但是,当我在节点浏览器中查看节点属性时,我看到cm:versionLabel==1.0 根据我使

我正在开发一个内容上传器,它代表一个。也许说“updater”更为正确,因为内容已经存在于存储库中,但可能没有
cm:versionable
特性。我需要更新此内容并设置正确的版本号(例如,任意)

我注意到第一次上传总是得到编号
1.0

例如,假设内容模型没有
cm:versionable
特性。我可以通过这种方式添加它并指定我需要的版本号(
1.1
):

当我调试这个解决方案时,我可以看到我得到了我需要的版本

但是,当我在节点浏览器中查看节点属性时,我看到
cm:versionLabel==1.0

根据我使用的逻辑,接下来的所有上传都会得到正确的数字

为什么第一次上传的版本总是有数字1.0,我如何改变这种行为

在我的情况下:
必需

是,advice正在工作(advice我没有检查)。我刚刚设置了
initialVersion=false

Map<String, String> map = new HashMap<String, String>() {
    {
        put(QNAME_VERSION_LABEL, INITIAL_UPLOADED_VERSION); // 1.1
        put(QNAME_AUTO_VERSION, false);
        put(QNAME_INITIAL_VERSION, false);
    }
};

nodeService.addAspect(nodeRef, QNAME_ASPECT_CM_VERSIONABLE, map);
Map Map=newhashmap(){
{
put(QNAME_版本_标签,首字母_上传_版本);//1.1
put(QNAME\u自动版本,假);
put(QNAME\u初始版本,假);
}
};
nodeService.addAspect(nodeRef,QNAME\u ASPECT\u CM\u VERSIONABLE,map);
现在一切都好了


感谢@Gagravarr的帮助。

IIRC有些位在共享中是硬编码的,有些位在…如果你在Java中,最简单的方法可能是调用
EnsureReversioningEnabled
并传入不同的初始版本属性。有一个行为绑定到可版本特性,也许可以检查代码?
final String NS_ALF_CONTENT_MODEL  = "http://www.alfresco.org/model/content/1.0";
final String ASPECT_CM_VERSIONABLE = "versionable";
final String PROP_VERSION_LABEL    = "versionLabel";
final String PROP_AUTO_VERSION     = "autoVersion";
final String INITIAL_UPLOADED_VERSION = "1.1";

final QName QNAME_ASPECT_VERSIONABLE = QName.createQName(NS_ALF_CONTENT_MODEL, ASPECT_CM_VERSIONABLE);
final QName QNAME_VERSION_LABEL = QName.createQName(NS_ALF_CONTENT_MODEL, PROP_VERSION_LABEL);  
final QName QNAME_AUTO_VERSION = QName.createQName(NS_ALF_CONTENT_MODEL, PROP_AUTO_VERSION);
Map<String, String> map = new HashMap<String, String>() {
    {
        put(QNAME_VERSION_LABEL, INITIAL_UPLOADED_VERSION); // 1.1
        put(QNAME_AUTO_VERSION, false);
        put(QNAME_INITIAL_VERSION, false);
    }
};

nodeService.addAspect(nodeRef, QNAME_ASPECT_CM_VERSIONABLE, map);