В зависимости от ваших требований, вам может быть лучше добиться этого с помощью Правил папок .
Если правила папок не соответствуют требованиям или если я неправильно понимаю ваше использование очень специфического NodeRefиз workspace://SpacesStore/973e1b8d-bf61-8196-3278-fbbf0b4375gg
тогда я бы просто проверил в методе onCreateNode, если родительский узел созданного узла соответствует этому NodeRef, вместо того, чтобы пытаться проверить в методе init.:
this.onCreateNode = new JavaBehaviour(this, "onCreateNode", Behaviour.NotificationFrequency.FIRST_EVENT);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateNodePolicy.QNAME, Qname.createQName(XYLO.NAMESPACE_XYLO_CONTENT_MODEL, XYLO.TYPE_xz_xyloModel), this.onCreateNode);
А затем просто проверьте, является ли узел дочерним по отношению к узлу, который вы пытаетесь сделать родительским, в этом случае вы сказали, что это будет workspace://SpacesStore/973e1b8d-bf61-8196-3278-fbbf0b4375gg
.
Таким образом, метод onCreateNode будет выглядеть примерно так:
@Override
public void onCreateNode(ChildAssociationRef childAssociationRef){
NodeRef idealParentNodeRef = new NodeRef("workspace://SpacesStore/973e1b8d-bf61-8196-3278-fbbf0b4375gg");
NodeRef nodeRef = childAssociationRef.getChildRef();
NodeRef parentRef = childAssociationRef.getParentRef();
//First double check and make sure all the nodes exist.
if(nodeService.exists(nodeRef) && nodeService.exists(parentRef) && nodeService.exists(idealParentNodeRef)){
//then check if the parentRef and the idealParentNodeRef match
if(parentRef.equals(idealParentNodeRef)){
nodeService.addAspect(nodeRef, /*QName of the Aspect you want to add*/);
}
}
}
Если вы точно знаете, что узел / рабочая область, в которую вы загружаете, будет очень специфичным каждый раз, когда вы можете просто сделать это, хотя я бы сказал,вероятно, также предложите добавить обработку ошибок, ведение журнала и т. д., но это поможет вам начать хотя бы.
Примечание , что, как правило, не следуетне обязательно ожидать, что NodeRef будет оставаться неизменным каждый раз, разумеется, я просто показываю вам, что вы могли бы делать на основе информации из вашего поста, а не того, что вы должны делать (который мог бы найти какой-то другой способ сослаться на NodeRef / рабочее пространство, которое вы пытаетесь использовать, и идти дальше, в зависимости от того, является ли это NodeRef / рабочее пространство папкой или сайтом или чем-то еще).
Надеюсь, это поможет.