001/* 002 * (C) Copyright 2007 Nuxeo SAS (http://nuxeo.com/) and contributors. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser General Public License 006 * (LGPL) version 2.1 which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/lgpl.html 008 * 009 * This library is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * Contributors: 015 * Nuxeo - initial API and implementation 016 * 017 * $Id$ 018 */ 019 020package org.nuxeo.ecm.platform.comment.impl; 021 022import java.util.HashMap; 023import java.util.Set; 024 025import org.nuxeo.ecm.core.api.DataModel; 026import org.nuxeo.ecm.core.api.DataModelMap; 027import org.nuxeo.ecm.core.api.DocumentModel; 028import org.nuxeo.ecm.core.api.PropertyException; 029import org.nuxeo.ecm.platform.comment.api.CommentConverter; 030import org.nuxeo.ecm.platform.comment.workflow.utils.CommentsConstants; 031 032/** 033 * @author <a href="mailto:glefter@nuxeo.com">George Lefter</a> 034 */ 035public class CommentConverterImpl implements CommentConverter { 036 037 public String getDocumentType() { 038 return CommentsConstants.COMMENT_DOC_TYPE; 039 } 040 041 public void updateDocumentModel(DocumentModel docModel, DocumentModel comment) { 042 043 DataModelMap dataModelMap = comment.getDataModels(); 044 Set<String> keys = dataModelMap.keySet(); 045 046 for (String key : keys) { 047 DataModel dataModel = dataModelMap.get(key); 048 String schema = dataModel.getSchema(); 049 try { 050 docModel.setProperties(schema, new HashMap<String, Object>(dataModel.getMap())); 051 } catch (PropertyException e) { 052 continue; 053 } 054 } 055 } 056 057}