use of org.alfresco.repo.event.v1.model.NodeResource in project alfresco-repository by Alfresco.
the class DeleteRepoEventIT method testDeleteContent.
@Test
public void testDeleteContent() {
PropertyMap propertyMap = new PropertyMap();
propertyMap.put(ContentModel.PROP_TITLE, "test title");
NodeRef nodeRef = createNode(ContentModel.TYPE_CONTENT, propertyMap);
NodeResource createdResource = getNodeResource(1);
assertNotNull("Resource ID is null", createdResource.getId());
assertNotNull("Default aspects were not added. ", createdResource.getAspectNames());
assertNotNull("Missing createdByUser property.", createdResource.getCreatedByUser());
assertNotNull("Missing createdAt property.", createdResource.getCreatedAt());
assertNotNull("Missing modifiedByUser property.", createdResource.getModifiedByUser());
assertNotNull("Missing modifiedAt property.", createdResource.getModifiedAt());
assertNotNull("Missing node resource properties", createdResource.getProperties());
deleteNode(nodeRef);
final RepoEvent<EventData<NodeResource>> resultRepoEvent = getRepoEvent(2);
assertEquals("Repo event type:", EventType.NODE_DELETED.getType(), resultRepoEvent.getType());
assertEquals(createdResource.getId(), getNodeResource(resultRepoEvent).getId());
// There should be no resourceBefore
EventData<NodeResource> eventData = getEventData(resultRepoEvent);
assertNull("There should be no 'resourceBefore' object for the Deleted event type.", eventData.getResourceBefore());
}
use of org.alfresco.repo.event.v1.model.NodeResource in project alfresco-repository by Alfresco.
the class PeerAssociationRepoEventIT method testAddMultiplePeerAssociationDifferentTransaction.
@Test
public void testAddMultiplePeerAssociationDifferentTransaction() {
final NodeRef content1NodeRef = createNode(ContentModel.TYPE_CONTENT);
final NodeRef content2NodeRef = createNode(ContentModel.TYPE_CONTENT);
final NodeRef content3NodeRef = createNode(ContentModel.TYPE_CONTENT);
checkNumOfEvents(3);
RepoEvent<EventData<NodeResource>> resultRepoEvent = getRepoEventWithoutWait(1);
assertEquals("Wrong repo event type.", EventType.NODE_CREATED.getType(), resultRepoEvent.getType());
resultRepoEvent = getRepoEventWithoutWait(2);
assertEquals("Wrong repo event type.", EventType.NODE_CREATED.getType(), resultRepoEvent.getType());
resultRepoEvent = getRepoEventWithoutWait(3);
assertEquals("Wrong repo event type.", EventType.NODE_CREATED.getType(), resultRepoEvent.getType());
retryingTransactionHelper.doInTransaction(() -> {
nodeService.createAssociation(content1NodeRef, content2NodeRef, ContentModel.ASSOC_ORIGINAL);
return null;
});
retryingTransactionHelper.doInTransaction(() -> {
nodeService.createAssociation(content3NodeRef, content2NodeRef, ContentModel.ASSOC_ORIGINAL);
return null;
});
List<AssociationRef> peerAssociationRefs = retryingTransactionHelper.doInTransaction(() -> nodeService.getSourceAssocs(content2NodeRef, ContentModel.ASSOC_ORIGINAL));
assertEquals(2, peerAssociationRefs.size());
checkNumOfEvents(7);
List<RepoEvent<EventData<PeerAssociationResource>>> peerAssocRepoEvent = getFilteredEvents(EventType.PEER_ASSOC_CREATED);
// we should have 2 assoc.peer.Created events
assertEquals("Wrong association events number", 2, peerAssocRepoEvent.size());
assertEquals("Wrong source", content1NodeRef.getId(), getPeerAssocResource(peerAssocRepoEvent.get(0)).getSource().getId());
assertEquals("Wrong target", content2NodeRef.getId(), getPeerAssocResource(peerAssocRepoEvent.get(0)).getTarget().getId());
assertEquals("Wrong assoc type", "cm:original", getPeerAssocResource(peerAssocRepoEvent.get(0)).getAssocType());
assertEquals("Wrong source", content3NodeRef.getId(), getPeerAssocResource(peerAssocRepoEvent.get(1)).getSource().getId());
assertEquals("Wrong target", content2NodeRef.getId(), getPeerAssocResource(peerAssocRepoEvent.get(1)).getTarget().getId());
assertEquals("Wrong assoc type", "cm:original", getPeerAssocResource(peerAssocRepoEvent.get(1)).getAssocType());
}
use of org.alfresco.repo.event.v1.model.NodeResource in project alfresco-repository by Alfresco.
the class PeerAssociationRepoEventIT method testRemovePeerAssociation.
@Test
public void testRemovePeerAssociation() {
final NodeRef content1NodeRef = createNode(ContentModel.TYPE_CONTENT);
final NodeRef content2NodeRef = createNode(ContentModel.TYPE_CONTENT);
checkNumOfEvents(2);
RepoEvent<EventData<NodeResource>> resultRepoEvent = getRepoEventWithoutWait(1);
assertEquals("Wrong repo event type.", EventType.NODE_CREATED.getType(), resultRepoEvent.getType());
resultRepoEvent = getRepoEventWithoutWait(2);
assertEquals("Wrong repo event type.", EventType.NODE_CREATED.getType(), resultRepoEvent.getType());
// Create peer association
retryingTransactionHelper.doInTransaction(() -> nodeService.createAssociation(content1NodeRef, content2NodeRef, ContentModel.ASSOC_ORIGINAL));
List<AssociationRef> peerAssociationRefs = retryingTransactionHelper.doInTransaction(() -> nodeService.getSourceAssocs(content2NodeRef, ContentModel.ASSOC_ORIGINAL));
assertEquals(1, peerAssociationRefs.size());
checkNumOfEvents(4);
// Remove peer association
retryingTransactionHelper.doInTransaction(() -> {
nodeService.removeAssociation(content1NodeRef, content2NodeRef, ContentModel.ASSOC_ORIGINAL);
return null;
});
peerAssociationRefs = retryingTransactionHelper.doInTransaction(() -> nodeService.getSourceAssocs(content2NodeRef, ContentModel.ASSOC_ORIGINAL));
assertEquals(0, peerAssociationRefs.size());
checkNumOfEvents(6);
// Check the peer assoc created event
final RepoEvent<EventData<PeerAssociationResource>> peerAssocRepoEvent = getFilteredEvent(EventType.PEER_ASSOC_CREATED, 0);
assertEquals("Wrong repo event type.", EventType.PEER_ASSOC_CREATED.getType(), peerAssocRepoEvent.getType());
assertNotNull("Repo event ID is not available. ", peerAssocRepoEvent.getId());
assertNotNull("Source is not available", peerAssocRepoEvent.getSource());
assertEquals("Repo event source is not available. ", "/" + descriptorService.getCurrentRepositoryDescriptor().getId(), peerAssocRepoEvent.getSource().toString());
assertNotNull("Repo event creation time is not available. ", peerAssocRepoEvent.getTime());
assertEquals("Repo event datacontenttype", "application/json", peerAssocRepoEvent.getDatacontenttype());
assertNotNull(peerAssocRepoEvent.getDataschema());
assertEquals(EventJSONSchema.PEER_ASSOC_CREATED_V1.getSchema(), peerAssocRepoEvent.getDataschema());
final EventData<PeerAssociationResource> nodeResourceEventData = getEventData(peerAssocRepoEvent);
// EventData attributes
assertNotNull("Event data group ID is not available. ", nodeResourceEventData.getEventGroupId());
assertNull("resourceBefore property is not available", nodeResourceEventData.getResourceBefore());
final PeerAssociationResource peerAssociationResource = getPeerAssocResource(peerAssocRepoEvent);
assertEquals("Wrong source", content1NodeRef.getId(), peerAssociationResource.getSource().getId());
assertEquals("Wrong target", content2NodeRef.getId(), peerAssociationResource.getTarget().getId());
assertEquals("Wrong assoc type", "cm:original", peerAssociationResource.getAssocType());
// Check the peer assoc deleted event
final RepoEvent<EventData<PeerAssociationResource>> peerAssocRepoEvent2 = getFilteredEvent(EventType.PEER_ASSOC_DELETED, 0);
assertEquals("Wrong repo event type.", EventType.PEER_ASSOC_DELETED.getType(), peerAssocRepoEvent2.getType());
assertNotNull("Repo event ID is not available. ", peerAssocRepoEvent2.getId());
assertNotNull("Source is not available", peerAssocRepoEvent2.getSource());
assertEquals("Repo event source is not available. ", "/" + descriptorService.getCurrentRepositoryDescriptor().getId(), peerAssocRepoEvent2.getSource().toString());
assertNotNull("Repo event creation time is not available. ", peerAssocRepoEvent2.getTime());
assertEquals("Repo event datacontenttype", "application/json", peerAssocRepoEvent2.getDatacontenttype());
assertNotNull(peerAssocRepoEvent2.getDataschema());
assertEquals(EventJSONSchema.PEER_ASSOC_DELETED_V1.getSchema(), peerAssocRepoEvent2.getDataschema());
final EventData<PeerAssociationResource> nodeResourceEventData2 = getEventData(peerAssocRepoEvent2);
// EventData attributes
assertNotNull("Event data group ID is not available. ", nodeResourceEventData2.getEventGroupId());
assertNull("resourceBefore property is not available", nodeResourceEventData2.getResourceBefore());
final PeerAssociationResource peerAssociationResource2 = getPeerAssocResource(peerAssocRepoEvent2);
assertEquals("Wrong source", content1NodeRef.getId(), peerAssociationResource2.getSource().getId());
assertEquals("Wrong target", content2NodeRef.getId(), peerAssociationResource2.getTarget().getId());
assertEquals("Wrong assoc type", "cm:original", peerAssociationResource2.getAssocType());
}
use of org.alfresco.repo.event.v1.model.NodeResource in project alfresco-repository by Alfresco.
the class AbstractContextAwareRepoEvent method getNodeResourceWithoutWait.
protected NodeResource getNodeResourceWithoutWait(int eventSequenceNumber) {
DataAttributes<NodeResource> eventData = getEventDataWithoutWait(eventSequenceNumber);
NodeResource resource = eventData.getResource();
assertNotNull(resource);
return resource;
}
use of org.alfresco.repo.event.v1.model.NodeResource in project alfresco-repository by Alfresco.
the class CreateRepoEventIT method testCreateNodeWithId.
@Test
public void testCreateNodeWithId() {
final String uuid = GUID.generate();
PropertyMap properties = new PropertyMap();
properties.put(ContentModel.PROP_NODE_UUID, uuid);
// create a node with an explicit UUID
createNode(ContentModel.TYPE_CONTENT, properties);
final NodeResource resource = getNodeResource(1);
assertEquals("Failed to create node with a chosen ID", uuid, resource.getId());
}
Aggregations