Alfresco Share:从Java检索配置数据

时间:2013-01-04 16:38:31

标签: share alfresco

我想从Share webapp中的Java bean访问share-config-custom.xml数据。

与以下javascript语法(访问配置根对象)相同但在Java上下文中是什么:

config.scoped['RepositoryLibrary']['root-node']

是否将share-config-custom转换为bean本身?或者是否有从Java中读取它的API?

2 个答案:

答案 0 :(得分:4)

首先,没有“合理”的方法来使用这个API“查看”一个XML配置文件。通常,ConfigService创建一个从各种来源合并的配置。但无论如何都不应该直接看XML。

话虽如此,Javascript对象config实际上是org.springframework.extensions.webscripts.ScriptConfigModel

要获得与Java相同的东西,请自己引用ConfigService。要获取引用,请让spring将其注入自定义bean:

<property name="configService" ref="web.config" /> 

致电configService.getGlobalConfig()应该相当于config.scoped

答案 1 :(得分:1)

我知道这已经回答了,但安德烈亚斯的回答只让我在那里。配置类实际上是XMLConfigService。

这是一个与Enterprise 4.1配合使用的代码段。* Alfresco:

Java类

import org.springframework.extensions.config.xml.XMLConfigService;

public class PDFValidate extends BaseJavaDelegate implements ExecutionListener
{
    protected XMLConfigService configService;

    public void setConfigService( XMLConfigService scriptConfigModel )
    {
        this.configService = scriptConfigModel;
    }

Bean注册:

<bean id="AbstractWorkflowDelegate" parent="baseJavaDelegate" abstract="true" depends-on="activitiBeanRegistry" />

<bean id="PDFValidate" parent="AbstractWorkflowDelegate" class="com.epnet.alfresco.metadata.listener.PDFValidate">
    <property name="repository" ref="repositoryHelper" />
    <property name="configService" ref="web.config" />
</bean>

从那里,您可以在java代码中使用configService来获取配置值。 XMLConfigService位于我的Alfresco版本的spring-surf-core-configservice-1.2.0-SNAPSHOT.jar中。