]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
a6782c31cbe1341bc671191852d32865d49badee
[tmp/jakarta-migration.git] /
1 /**
2  *  This document is a part of the source code and related artifacts
3  *  for CollectionSpace, an open source collections management system
4  *  for museums and related institutions:
5
6  *  http://www.collectionspace.org
7  *  http://wiki.collectionspace.org
8
9  *  Copyright 2009 University of California at Berkeley
10
11  *  Licensed under the Educational Community License (ECL), Version 2.0.
12  *  You may not use this file except in compliance with this License.
13
14  *  You may obtain a copy of the ECL 2.0 License at
15
16  *  https://source.collectionspace.org/collection-space/LICENSE.txt
17
18  *  Unless required by applicable law or agreed to in writing, software
19  *  distributed under the License is distributed on an "AS IS" BASIS,
20  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  *  See the License for the specific language governing permissions and
22  *  limitations under the License.
23  */
24 package org.collectionspace.services.article.nuxeo;
25
26 import org.collectionspace.services.ArticlesCommonJAXBSchema;
27 import org.collectionspace.services.article.ArticlesCommon;
28 import org.collectionspace.services.client.ArticleClient;
29 import org.collectionspace.services.common.document.DocumentWrapper;
30 import org.collectionspace.services.nuxeo.client.java.DocHandlerBase;
31 import org.nuxeo.ecm.core.api.DocumentModel;
32
33 /** ArticleDocumentModelHandler
34  *  $LastChangedRevision$
35  *  $LastChangedDate$
36  */
37 public class ArticleDocumentModelHandler
38         extends DocHandlerBase<ArticlesCommon> {
39         
40         @Override
41         public void fillAllParts(DocumentWrapper<DocumentModel> wrapDoc, Action action) throws Exception {
42                 //
43                 // Call our parent's implementation first to fill out most of the document model properties
44                 //
45                 super.fillAllParts(wrapDoc, action);
46                 
47                 //
48                 // Since we didn't know the CSID when we created the publicly accessible URL we need to
49                 // add it now.
50                 //
51                 DocumentModel documentModel = wrapDoc.getWrappedObject();
52                 String url = (String) documentModel.getProperty(ArticleClient.SERVICE_COMMON_PART_NAME,
53                                 ArticlesCommonJAXBSchema.ARTICLE_CONTENT_URL);
54                 url = url.replace(ArticleClient.CSID_PATH_PARAM_VAR, documentModel.getName());
55                 documentModel.setProperty(ArticleClient.SERVICE_COMMON_PART_NAME,
56                                 ArticlesCommonJAXBSchema.ARTICLE_CONTENT_URL, url);
57         }
58 }
59