View Javadoc

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  		// check if the portlet preferences have an entry for the given provider and content type.
19  		String renderClassKey= contentProviderId + "-" + contentType;
20  		String renderClassName= prefs.getValue(renderClassKey, "defaultFactory");	// we expect class definitions
21  		// String iqserWebserviceUrl= prefs.getValue(IqserBasePortlet.PREF_IQSER_WEBSERVICE, "");
22  		
23  		if( !renderClassName.startsWith("de.") && !renderClassName.startsWith("com.")) {
24  			// not a full package path
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  }