01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. The ASF licenses this file to You
04: * under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License. For additional information regarding
15: * copyright in this work, please see the NOTICE file in the top level
16: * directory of this distribution.
17: */
18:
19: package org.apache.roller.ui.rendering.velocity;
20:
21: import org.apache.commons.logging.Log;
22: import org.apache.commons.logging.LogFactory;
23: import org.apache.roller.pojos.Template;
24: import org.apache.roller.ui.rendering.Renderer;
25: import org.apache.roller.ui.rendering.RendererFactory;
26:
27: /**
28: * Velocity RendererFactory for Roller.
29: */
30: public class VelocityRendererFactory implements RendererFactory {
31:
32: private static Log log = LogFactory
33: .getLog(VelocityRendererFactory.class);
34:
35: public Renderer getRenderer(Template template) {
36:
37: Renderer renderer = null;
38:
39: // nothing we can do with null values
40: if (template.getTemplateLanguage() == null
41: || template.getId() == null) {
42: return null;
43: }
44:
45: if ("velocity".equals(template.getTemplateLanguage())) {
46:
47: // standard velocity template
48: try {
49: renderer = new VelocityRenderer(template);
50: } catch (Exception ex) {
51: // some kind of exception so we don't have a renderer
52: // we do catching/logging in VelocityRenderer constructor
53: return null;
54: }
55:
56: }
57:
58: return renderer;
59: }
60:
61: }
|