/* * Copyright 2014 Federal Chancellery Austria MOA-ID has been developed in a cooperation between * BRZ, the Federal Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in * compliance with the Licence. You may obtain a copy of the Licence at: http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software distributed under the Licence * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the Licence for the specific language governing permissions and limitations under * the Licence. * * This product combines work with different licenses. See the "NOTICE" text file for details on the * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative * works that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egiz.eaaf.core.impl.gui.velocity; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.runtime.RuntimeConstants; /** * Gets a Velocity Engine. * * @author bzwattendorfer * */ public class VelocityProvider { private static VelocityEngine velocityEngine = null; /** * Gets velocityEngine from Classpath. * * @return VelocityEngine * @throws Exception In case of an error */ public static VelocityEngine getClassPathVelocityEngine() throws Exception { if (velocityEngine == null) { velocityEngine = getBaseVelocityEngine(); velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); velocityEngine.setProperty("classpath.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); velocityEngine.init(); } return velocityEngine; } /** * Gets VelocityEngine from File. * * @param rootPath File Path to template file * @return VelocityEngine * @throws Exception in case of an error */ public static VelocityEngine getFileVelocityEngine(final String rootPath) throws Exception { if (velocityEngine == null) { velocityEngine = getBaseVelocityEngine(); velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "file"); velocityEngine.setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader"); velocityEngine.setProperty("file.resource.loader.path", rootPath); velocityEngine.init(); } return velocityEngine; } /** * Gets a basic VelocityEngine. * * @return VelocityEngine */ private static VelocityEngine getBaseVelocityEngine() { final VelocityEngine velocityEngine = new VelocityEngine(); velocityEngine.setProperty(RuntimeConstants.INPUT_ENCODING, "UTF-8"); return velocityEngine; } }