001/* 002 * (C) Copyright 2007 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * Nuxeo - initial API and implementation 018 * 019 * $Id$ 020 */ 021 022package org.nuxeo.ecm.platform.comment.service; 023 024import org.nuxeo.common.xmap.annotation.XNode; 025import org.nuxeo.common.xmap.annotation.XObject; 026import org.nuxeo.ecm.platform.comment.api.CommentConverter; 027 028/** 029 * @author <a href="mailto:glefter@nuxeo.com">George Lefter</a> 030 */ 031@XObject("config") 032public class CommentServiceConfig { 033 034 // These instance variables are accessed directly from other classes in 035 // other packages. 036 037 @XNode("converterClass") 038 // public Class commentConverterClass; 039 public String commentConverterClassName; 040 041 @XNode("graphName") 042 public String graphName; 043 044 @XNode("commentNamespace") 045 public String commentNamespace; 046 047 @XNode("predicateNamespace") 048 public String predicateNamespace; 049 050 @XNode("documentNamespace") 051 public String documentNamespace; 052 053 public CommentConverter getCommentConverter() { 054 try { 055 Class<?> commentConverterClass = Class.forName(commentConverterClassName); 056 return (CommentConverter) commentConverterClass.newInstance(); 057 } catch (ReflectiveOperationException e) { 058 throw new RuntimeException("failed to create comment converter", e); 059 } 060 } 061 062}