This project has retired. For details please refer to its Attic page.
VersioningServiceImpl xref

1   /*
2    *
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   *
20   */
21  package org.apache.chemistry.opencmis.client.bindings.spi.local;
22  
23  import java.util.List;
24  
25  import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
26  import org.apache.chemistry.opencmis.commons.data.Acl;
27  import org.apache.chemistry.opencmis.commons.data.ContentStream;
28  import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
29  import org.apache.chemistry.opencmis.commons.data.ObjectData;
30  import org.apache.chemistry.opencmis.commons.data.Properties;
31  import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
32  import org.apache.chemistry.opencmis.commons.server.CmisService;
33  import org.apache.chemistry.opencmis.commons.server.CmisServiceFactory;
34  import org.apache.chemistry.opencmis.commons.spi.Holder;
35  import org.apache.chemistry.opencmis.commons.spi.VersioningService;
36  
37  public class VersioningServiceImpl extends AbstractLocalService implements VersioningService {
38  
39      /**
40       * Constructor.
41       */
42      public VersioningServiceImpl(BindingSession session, CmisServiceFactory factory) {
43          setSession(session);
44          setServiceFactory(factory);
45      }
46  
47      public void cancelCheckOut(String repositoryId, String objectId, ExtensionsData extension) {
48          CmisService service = getService(repositoryId);
49  
50          try {
51              service.cancelCheckOut(repositoryId, objectId, extension);
52          } finally {
53              service.close();
54          }
55      }
56  
57      public void checkIn(String repositoryId, Holder<String> objectId, Boolean major, Properties properties,
58              ContentStream contentStream, String checkinComment, List<String> policies, Acl addAces, Acl removeAces,
59              ExtensionsData extension) {
60          CmisService service = getService(repositoryId);
61  
62          try {
63              service.checkIn(repositoryId, objectId, major, properties, contentStream, checkinComment, policies,
64                      addAces, removeAces, extension);
65          } finally {
66              service.close();
67          }
68      }
69  
70      public void checkOut(String repositoryId, Holder<String> objectId, ExtensionsData extension,
71              Holder<Boolean> contentCopied) {
72          CmisService service = getService(repositoryId);
73  
74          try {
75              service.checkOut(repositoryId, objectId, extension, contentCopied);
76          } finally {
77              service.close();
78          }
79      }
80  
81      public List<ObjectData> getAllVersions(String repositoryId, String objectId, String versionSeriesId, String filter,
82              Boolean includeAllowableActions, ExtensionsData extension) {
83          CmisService service = getService(repositoryId);
84  
85          try {
86              return service.getAllVersions(repositoryId, objectId, versionSeriesId, filter, includeAllowableActions,
87                      extension);
88          } finally {
89              service.close();
90          }
91      }
92  
93      public ObjectData getObjectOfLatestVersion(String repositoryId, String objectId, String versionSeriesId,
94              Boolean major, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships,
95              String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) {
96          CmisService service = getService(repositoryId);
97  
98          try {
99              return service.getObjectOfLatestVersion(repositoryId, objectId, versionSeriesId, major, filter,
100                     includeAllowableActions, includeRelationships, renditionFilter, includePolicyIds, includeAcl,
101                     extension);
102         } finally {
103             service.close();
104         }
105     }
106 
107     public Properties getPropertiesOfLatestVersion(String repositoryId, String objectId, String versionSeriesId,
108             Boolean major, String filter, ExtensionsData extension) {
109         CmisService service = getService(repositoryId);
110 
111         try {
112             return service.getPropertiesOfLatestVersion(repositoryId, objectId, versionSeriesId, major, filter,
113                     extension);
114         } finally {
115             service.close();
116         }
117     }
118 }