1 package de.iqser.factory;
2
3 import java.util.List;
4
5 import javax.portlet.PortletPreferences;
6
7 import com.liferay.portal.kernel.log.Log;
8 import com.liferay.portal.kernel.log.LogFactoryUtil;
9
10 import de.iqser.factory.classes.DefaultFactory;
11 import de.iqser.portlets.IqserBasePortlet;
12
13 public class PreviewRenderingFactory implements PreviewRenderingFactoryIF {
14
15 private static Log _ilog = LogFactoryUtil.getLog(PreviewRenderingFactory.class);
16
17 public RenderingFactoryIF createContent(String contentProviderId, String contentType, PortletPreferences prefs) {
18
19 String renderClassKey= contentProviderId + "-" + contentType;
20 String renderClassName= prefs.getValue(renderClassKey, "defaultFactory");
21
22
23 if( !renderClassName.startsWith("de.") && !renderClassName.startsWith("com.")) {
24
25 renderClassName= "de.iqser.factory.classes." + renderClassName;
26 }
27 if( _ilog.isInfoEnabled() ) {
28 _ilog.info("Provide previev data for key: " + renderClassKey);
29 _ilog.info("Provide previev data with class: " + renderClassName);
30 }
31
32 if( !renderClassName.equals("defaultFactory")) {
33 RenderingFactoryIF factory= null;
34 try {
35 Class clazz = Class.forName(renderClassName);
36 factory = (RenderingFactoryIF) clazz.newInstance();
37
38 } catch (InstantiationException e) {
39 _ilog.error(e);
40 } catch (IllegalAccessException e) {
41 _ilog.error(e);
42 } catch (ClassNotFoundException e) {
43 _ilog.error("PreviewRendering factory could not find class :" + renderClassName + " , using default");
44 }
45 if( factory == null) {
46 factory= new DefaultFactory();
47 }
48 else {
49
50 }
51 return factory;
52 }
53 else {
54 return new DefaultFactory();
55 }
56 }
57
58 }