/*
* Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* bstefanescu
*/
package org.eclipse.ecr.automation.core.rendering;
import java.util.Map;
import org.eclipse.ecr.automation.OperationContext;
import org.eclipse.ecr.automation.core.scripting.Scripting;
/**
* @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
*
*/
public class RenderingService {
//TODO use a runtime service
private static RenderingService instance = new RenderingService();
public static RenderingService getInstance() {
return instance;
}
protected MvelRender mvel = new MvelRender();
protected FreemarkerRender ftl = new FreemarkerRender();
public String render(String type, String uriOrContent, OperationContext ctx) throws Exception {
Map<String, Object> map = Scripting.initBindings(ctx);
//map.put("DocUrl", MailTemplateHelper.getDocumentUrl(doc, viewId));
return getRenderer(type).render(uriOrContent, map);
}
public Renderer getRenderer(String type) {
if ("mvel".equals(type)) {
return mvel;
} else {
return ftl;
}
}
}