2013-05-22 27 views

回答

2

向創建新文件時上傳到的文件夾添加例如規則配置了「添加方面」操作的規則。

+0

謝謝,我想添加規則來添加一個方面的空間中創建的所有文件,但屬性仍然沒有得到添加。 –

+0

僅當您爲這些屬性賦值時纔會添加屬性。否則,您將無法在node.properties列表中找到這些屬性。 – Teqnology

3

如果您需要添加到所有內容添加到露天不管位置的一個方面,你最好使用JavaBehavior連接到OnCreateNodePolicy

您可以檢查someAlfresco類的如何創建自定義行爲的一個例子,它會大致如下(使用cm:content附加行爲,每一個文件):

public class AddAspectBehavior implements NodeServicePolicies.OnCreateNodePolicy 
{ 
    /** Policy component */ 
    private PolicyComponent policyComponent; 

    /** Node service */ 
    private NodeService nodeService; 

    /** Dictionary service */ 
    private DictionaryService dictionaryService; 

    // TODO: add setters for the services 

    public void init() 
    { 
     this.policyComponent.bindClassBehaviour(
       NodeServicePolicies.OnCreateNodePolicy.QNAME, 
       ContentModel.TYPE_CONTENT, 
       new JavaBehaviour(this, "onCreateNode", NotificationFrequency.TRANSACTION_COMMIT)); 
    } 

    @Override 
    public void onCreateNode(ChildAssociationRef childAssocRef) 
    { 
     Map<QName,Serializable> aspectValues = new HashMap<QName,Serializable>(); 
     // TODO: add relevand properties 
     nodeService.addAspect(childAssocReg.getChildRef(), MyCustomModel.ASPECT_TO_ADD, props); 
    } 
} 

然後,在一些春天上下文文件:

<bean id="my_package_behaviors_AddAspect" 
     class="my.package.AddAspectBehavior" 
     init-method="init"> 
     <property name="nodeService" ref="NodeService"/> 
     <property name="policyComponent" ref="policyComponent"/> 
</bean> 
+0

謝謝skuro,問題解決........... –

相關問題