Search in sources :

Example 26 with AssociationRef

use of org.alfresco.service.cmr.repository.AssociationRef in project alfresco-remote-api by Alfresco.

the class NodeSourcesRelation method readAll.

/**
 * List sources
 *
 * @param targetNodeId String id of target node
 */
@Override
@WebApiDescription(title = "Return a paged list of sources nodes based on (peer) assocs")
public CollectionWithPagingInfo<Node> readAll(String targetNodeId, Parameters parameters) {
    NodeRef targetNodeRef = nodes.validateOrLookupNode(targetNodeId, null);
    QNamePattern assocTypeQNameParam = getAssocTypeFromWhereElseAll(parameters);
    List<AssociationRef> assocRefs = nodeAssocService.getSourceAssocs(targetNodeRef, assocTypeQNameParam);
    return listNodePeerAssocs(assocRefs, parameters, false);
}
Also used : NodeRef(org.alfresco.service.cmr.repository.NodeRef) QNamePattern(org.alfresco.service.namespace.QNamePattern) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef) WebApiDescription(org.alfresco.rest.framework.WebApiDescription)

Example 27 with AssociationRef

use of org.alfresco.service.cmr.repository.AssociationRef in project alfresco-remote-api by Alfresco.

the class NodeTargetsRelation method readAll.

/**
 * List targets
 *
 * @param sourceNodeId String id of source node
 */
@Override
@WebApiDescription(title = "Return a paged list of target nodes based on (peer) assocs")
public CollectionWithPagingInfo<Node> readAll(String sourceNodeId, Parameters parameters) {
    NodeRef sourceNodeRef = nodes.validateOrLookupNode(sourceNodeId, null);
    QNamePattern assocTypeQNameParam = getAssocTypeFromWhereElseAll(parameters);
    List<AssociationRef> assocRefs = nodeAssocService.getTargetAssocs(sourceNodeRef, assocTypeQNameParam);
    return listNodePeerAssocs(assocRefs, parameters, true);
}
Also used : NodeRef(org.alfresco.service.cmr.repository.NodeRef) RegexQNamePattern(org.alfresco.service.namespace.RegexQNamePattern) QNamePattern(org.alfresco.service.namespace.QNamePattern) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef) WebApiDescription(org.alfresco.rest.framework.WebApiDescription)

Example 28 with AssociationRef

use of org.alfresco.service.cmr.repository.AssociationRef in project alfresco-remote-api by Alfresco.

the class NodeBrowserPost method getAssocs.

/**
 * Gets the current node associations
 *
 * @return associations
 */
public List<PeerAssociation> getAssocs(NodeRef nodeRef) {
    List<AssociationRef> refs = null;
    try {
        refs = getNodeService().getTargetAssocs(nodeRef, RegexQNamePattern.MATCH_ALL);
    } catch (UnsupportedOperationException err) {
        // some stores do not support associations
        // but we doesn't want NPE in code below
        refs = new ArrayList<AssociationRef>();
    }
    List<PeerAssociation> assocs = new ArrayList<PeerAssociation>(refs.size());
    for (AssociationRef ref : refs) {
        assocs.add(new PeerAssociation(ref.getTypeQName(), ref.getSourceRef(), ref.getTargetRef()));
    }
    return assocs;
}
Also used : ArrayList(java.util.ArrayList) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef) ChildAssociationRef(org.alfresco.service.cmr.repository.ChildAssociationRef)

Example 29 with AssociationRef

use of org.alfresco.service.cmr.repository.AssociationRef in project alfresco-remote-api by Alfresco.

the class FormRestApiJsonPost_Test method testRemoveAssociationsFromNode.

/**
 * This test method attempts to remove an existing association between two existing
 * nodes.
 */
public void testRemoveAssociationsFromNode() throws Exception {
    List<NodeRef> associatedNodes;
    checkOriginalAssocsBeforeChanges();
    // Remove an association
    JSONObject jsonPostData = new JSONObject();
    String assocsToRemove = associatedDoc_B.toString();
    jsonPostData.put(ASSOC_CM_REFERENCES_REMOVED, assocsToRemove);
    String jsonPostString = jsonPostData.toString();
    sendRequest(new PostRequest(referencingNodeUpdateUrl, jsonPostString, APPLICATION_JSON), 200);
    // Check the now updated associations via the node service
    List<AssociationRef> modifiedAssocs = nodeService.getTargetAssocs(referencingDocNodeRef, RegexQNamePattern.MATCH_ALL);
    assertEquals(1, modifiedAssocs.size());
    // Extract the target nodeRefs to make them easier to examine
    associatedNodes = new ArrayList<NodeRef>(5);
    for (AssociationRef assocRef : modifiedAssocs) {
        associatedNodes.add(assocRef.getTargetRef());
    }
    assertTrue(associatedNodes.contains(associatedDoc_A));
// The Rest API should also give us the modified assocs.
/*Response response = sendRequest(new GetRequest(referencingNodeUpdateUrl), 200);
        String jsonRspString = response.getContentAsString();
        JSONObject jsonGetResponse = new JSONObject(jsonRspString);
        JSONObject jsonData = (JSONObject)jsonGetResponse.get("data");
        assertNotNull(jsonData);

        JSONObject jsonFormData = (JSONObject)jsonData.get("formData");
        assertNotNull(jsonFormData);
        
        String jsonAssocs = (String)jsonFormData.get(ASSOC_CM_REFERENCES);
        
        // We expect exactly 1 assoc on the test node
        assertEquals(1, jsonAssocs.split(",").length);
        for (AssociationRef assocRef : modifiedAssocs)
        {
            assertTrue(jsonAssocs.contains(assocRef.getTargetRef().toString()));
        }*/
}
Also used : NodeRef(org.alfresco.service.cmr.repository.NodeRef) PostRequest(org.springframework.extensions.webscripts.TestWebScriptServer.PostRequest) JSONObject(org.json.JSONObject) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef) ChildAssociationRef(org.alfresco.service.cmr.repository.ChildAssociationRef)

Example 30 with AssociationRef

use of org.alfresco.service.cmr.repository.AssociationRef in project alfresco-remote-api by Alfresco.

the class TestPeople method deleteAvatarDirect.

private void deleteAvatarDirect(NodeRef personRef) {
    List<ChildAssociationRef> assocs = nodeService.getChildAssocs(personRef).stream().filter(x -> x.getTypeQName().equals(ContentModel.ASSOC_PREFERENCE_IMAGE)).collect(Collectors.toList());
    if (assocs.size() > 0) {
        nodeService.deleteNode(assocs.get(0).getChildRef());
    }
    // remove old association if it exists
    List<AssociationRef> refs = nodeService.getTargetAssocs(personRef, ContentModel.ASSOC_AVATAR);
    if (refs.size() == 1) {
        NodeRef existingRef = refs.get(0).getTargetRef();
        nodeService.removeAssociation(personRef, existingRef, ContentModel.ASSOC_AVATAR);
    }
    if (assocs.size() > 1 || refs.size() > 1) {
        fail(String.format("Pref images: %d, Avatar assocs: %d", assocs.size(), refs.size()));
    }
}
Also used : Pair(org.alfresco.rest.api.tests.client.Pair) PublicApiException(org.alfresco.rest.api.tests.client.PublicApiException) MutableAuthenticationService(org.alfresco.service.cmr.security.MutableAuthenticationService) Date(java.util.Date) Renditions(org.alfresco.rest.api.Renditions) Client(org.alfresco.rest.api.model.Client) RequestContext(org.alfresco.rest.api.tests.client.RequestContext) ChildAssociationRef(org.alfresco.service.cmr.repository.ChildAssociationRef) PersonService(org.alfresco.service.cmr.security.PersonService) ContentModel(org.alfresco.model.ContentModel) After(org.junit.After) Map(java.util.Map) Assert.fail(org.junit.Assert.fail) NodeService(org.alfresco.service.cmr.repository.NodeService) HttpStatus(org.apache.commons.httpclient.HttpStatus) TestNetwork(org.alfresco.rest.api.tests.RepoService.TestNetwork) Company(org.alfresco.rest.api.tests.client.data.Company) Set(java.util.Set) UUID(java.util.UUID) ContentLimitProvider(org.alfresco.repo.content.ContentLimitProvider) Collectors(java.util.stream.Collectors) ContentService(org.alfresco.service.cmr.repository.ContentService) Serializable(java.io.Serializable) List(java.util.List) JSONAble(org.alfresco.rest.api.tests.client.data.JSONAble) JSONObject(org.json.simple.JSONObject) AuthenticationUtil(org.alfresco.repo.security.authentication.AuthenticationUtil) Assert.assertFalse(org.junit.Assert.assertFalse) NamespaceService(org.alfresco.service.namespace.NamespaceService) Person(org.alfresco.rest.api.tests.client.data.Person) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef) ContentWriter(org.alfresco.service.cmr.repository.ContentWriter) PreferenceService(org.alfresco.service.cmr.preference.PreferenceService) RestApiUtil(org.alfresco.rest.api.tests.util.RestApiUtil) NodeRef(org.alfresco.service.cmr.repository.NodeRef) ClassPathResource(org.springframework.core.io.ClassPathResource) HashMap(java.util.HashMap) LoginTicketResponse(org.alfresco.rest.api.model.LoginTicketResponse) Rendition(org.alfresco.rest.api.model.Rendition) ArrayList(java.util.ArrayList) People(org.alfresco.rest.api.tests.client.PublicApiClient.People) GUID(org.alfresco.util.GUID) ResetPasswordServiceImplTest.getWorkflowIdAndKeyFromUrl(org.alfresco.repo.security.authentication.ResetPasswordServiceImplTest.getWorkflowIdAndKeyFromUrl) QName(org.alfresco.service.namespace.QName) ThumbnailService(org.alfresco.service.cmr.thumbnail.ThumbnailService) LinkedList(java.util.LinkedList) EmailUtil(org.alfresco.util.email.EmailUtil) Before(org.junit.Before) PasswordReset(org.alfresco.rest.api.model.PasswordReset) EmptyStackException(java.util.EmptyStackException) Iterator(java.util.Iterator) Assert.assertNotNull(org.junit.Assert.assertNotNull) HttpServletResponse(javax.servlet.http.HttpServletResponse) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) MimeMessage(javax.mail.internet.MimeMessage) PublicApiClient(org.alfresco.rest.api.tests.client.PublicApiClient) File(java.io.File) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) Assert.assertNull(org.junit.Assert.assertNull) LoginTicket(org.alfresco.rest.api.model.LoginTicket) HttpResponse(org.alfresco.rest.api.tests.client.HttpResponse) ResetPasswordServiceImpl(org.alfresco.repo.security.authentication.ResetPasswordServiceImpl) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) NodeRef(org.alfresco.service.cmr.repository.NodeRef) ChildAssociationRef(org.alfresco.service.cmr.repository.ChildAssociationRef) ChildAssociationRef(org.alfresco.service.cmr.repository.ChildAssociationRef) AssociationRef(org.alfresco.service.cmr.repository.AssociationRef)

Aggregations

AssociationRef (org.alfresco.service.cmr.repository.AssociationRef)35 NodeRef (org.alfresco.service.cmr.repository.NodeRef)26 ChildAssociationRef (org.alfresco.service.cmr.repository.ChildAssociationRef)22 QName (org.alfresco.service.namespace.QName)13 ArrayList (java.util.ArrayList)9 Serializable (java.io.Serializable)8 HashMap (java.util.HashMap)7 List (java.util.List)6 Map (java.util.Map)6 Iterator (java.util.Iterator)4 PropertyDefinition (org.alfresco.service.cmr.dictionary.PropertyDefinition)4 WebApiDescription (org.alfresco.rest.framework.WebApiDescription)3 QNamePattern (org.alfresco.service.namespace.QNamePattern)3 IOException (java.io.IOException)2 Date (java.util.Date)2 ListDataModel (javax.faces.model.ListDataModel)2 MimeMessage (javax.mail.internet.MimeMessage)2 AlfrescoRuntimeException (org.alfresco.error.AlfrescoRuntimeException)2 DictionaryService (org.alfresco.service.cmr.dictionary.DictionaryService)2 ContentData (org.alfresco.service.cmr.repository.ContentData)2