1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.chemistry.opencmis.client.bindings.spi.local;
22
23 import java.math.BigInteger;
24
25 import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
26 import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
27 import org.apache.chemistry.opencmis.commons.data.ObjectList;
28 import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
29 import org.apache.chemistry.opencmis.commons.server.CmisService;
30 import org.apache.chemistry.opencmis.commons.server.CmisServiceFactory;
31 import org.apache.chemistry.opencmis.commons.spi.RelationshipService;
32
33 public class RelationshipServiceImpl extends AbstractLocalService implements RelationshipService {
34
35
36
37
38 public RelationshipServiceImpl(BindingSession session, CmisServiceFactory factory) {
39 setSession(session);
40 setServiceFactory(factory);
41 }
42
43 @Override
44 public ObjectList getObjectRelationships(String repositoryId, String objectId, Boolean includeSubRelationshipTypes,
45 RelationshipDirection relationshipDirection, String typeId, String filter, Boolean includeAllowableActions,
46 BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
47 CmisService service = getService(repositoryId);
48
49 try {
50 if (stopBeforeService(service)) {
51 return null;
52 }
53
54 ObjectList serviceResult = service.getObjectRelationships(repositoryId, objectId,
55 includeSubRelationshipTypes, relationshipDirection, typeId, filter, includeAllowableActions,
56 maxItems, skipCount, extension);
57
58 if (stopAfterService(service)) {
59 return null;
60 }
61
62 return serviceResult;
63 } finally {
64 service.close();
65 }
66 }
67 }