如何使用Java在Alfresco中编辑修改的和修改的属性

如何使用Java在Alfresco中编辑修改的和修改的属性,java,alfresco,alfresco-webscripts,alfresco-enterprise,Java,Alfresco,Alfresco Webscripts,Alfresco Enterprise,我正在尝试使用JavaWebScript在Alfresco中使用自定义值设置修饰符和修改的属性。我使用以下代码来实现这一点: try{ behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE); serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValue

我正在尝试使用JavaWebScript在Alfresco中使用自定义值设置修饰符和修改的属性。我使用以下代码来实现这一点:

try{

    behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);

    serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValuesVO.getModified());
    serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIER, migValuesVO.getModifier());

}

finally{
    behaviourFilter.enableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
}
此代码在Alfresco社区版本中正常工作。此代码没有设置在Alfresco enterprise版本中运行时传递给修改器并修改的值


请帮助我如何在Alfresco中将自定义值设置为modifier和modified properties。

当您使用Alfresco CE测试代码时,是否以管理员身份登录,以及当您使用Alfresco Enterprise测试代码时,是否以管理员身份登录 非管理员用户

使用提升的权限运行代码,如runAsSystem或RunAsAdmin用户,如下所示

AuthenticationUtil.runAs(new RunAsWork<Void>() {
    @Override
    public Void doWork() throws Exception {
       try{
            behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValuesVO.getModified());
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIER, migValuesVO.getModifier());
        }
        finally{
            behaviourFilter.enableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
        }
      return null;
    }
  }, ADMIN_USER_NAME);
AuthenticationUtil.runAs(新的RunAsWork(){
@凌驾
public Void doWork()引发异常{
试一试{
行为过滤器.禁用行为(mainNodeRef,ContentModel.ASPECT\u AUDITABLE);
serviceRegistry.getNodeService().setProperty(mainNodeRef,ContentModel.PROP_MODIFIED,migValuesVO.getModified());
serviceRegistry.getNodeService().setProperty(mainNodeRef、ContentModel.PROP_修饰符、migValuesVO.getModifier());
}
最后{
行为过滤器.EnableBehavior(mainNodeRef,ContentModel.ASPECT_AUDITABLE);
}
返回null;
}
},管理员(用户名);
注意,上述代码未经测试


希望这对您有所帮助。

当您使用Alfresco CE测试代码时,您是否以管理员用户身份登录;当您使用Alfresco Enterprise测试代码时,您是否以 非管理员用户

使用提升的权限运行代码,如runAsSystem或RunAsAdmin用户,如下所示

AuthenticationUtil.runAs(new RunAsWork<Void>() {
    @Override
    public Void doWork() throws Exception {
       try{
            behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValuesVO.getModified());
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIER, migValuesVO.getModifier());
        }
        finally{
            behaviourFilter.enableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
        }
      return null;
    }
  }, ADMIN_USER_NAME);
AuthenticationUtil.runAs(新的RunAsWork(){
@凌驾
public Void doWork()引发异常{
试一试{
行为过滤器.禁用行为(mainNodeRef,ContentModel.ASPECT\u AUDITABLE);
serviceRegistry.getNodeService().setProperty(mainNodeRef,ContentModel.PROP_MODIFIED,migValuesVO.getModified());
serviceRegistry.getNodeService().setProperty(mainNodeRef、ContentModel.PROP_修饰符、migValuesVO.getModifier());
}
最后{
行为过滤器.EnableBehavior(mainNodeRef,ContentModel.ASPECT_AUDITABLE);
}
返回null;
}
},管理员(用户名);
注意,上述代码未经测试


希望这对您有所帮助。

日志中有错误吗?日志中没有错误。日志中有错误吗?日志中没有错误吗?日志中没有错误。我在Alfresco的CE和enterprise版本中都使用runAsSystem执行webscript,但仍然面临此问题Murali。我在两个CE中都使用runAsSystem执行webscript而企业版的Alfresco仍然面临着这个问题Murali。