You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by tv...@apache.org on 2009/02/10 20:41:08 UTC
svn commit: r743073 -
/turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
Author: tv
Date: Tue Feb 10 19:41:08 2009
New Revision: 743073
URL: http://svn.apache.org/viewvc?rev=743073&view=rev
Log:
Use new AssemblerBroker and Loader features
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java?rev=743073&r1=743072&r2=743073&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java Tue Feb 10 19:41:08 2009
@@ -35,17 +35,14 @@
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
import org.apache.turbine.modules.Layout;
-import org.apache.turbine.modules.LayoutLoader;
import org.apache.turbine.modules.Loader;
import org.apache.turbine.modules.Navigation;
-import org.apache.turbine.modules.NavigationLoader;
import org.apache.turbine.modules.Page;
-import org.apache.turbine.modules.PageLoader;
import org.apache.turbine.modules.Screen;
-import org.apache.turbine.modules.ScreenLoader;
import org.apache.turbine.services.InitializationException;
import org.apache.turbine.services.TurbineBaseService;
import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
import org.apache.turbine.services.servlet.TurbineServlet;
import org.apache.turbine.services.template.mapper.BaseTemplateMapper;
import org.apache.turbine.services.template.mapper.ClassMapper;
@@ -682,11 +679,16 @@
// We could use a List object here and extend the number of managed objects
// dynamically. However, by using an Object Array, we get much more performance
// out of the Template Service.
- mapperRegistry = new Mapper [TEMPLATE_TYPES];
+ mapperRegistry = new Mapper[TEMPLATE_TYPES];
String [] mapperNames = new String [] {
- Page.NAME,Screen.NAME, Layout.NAME,
- Navigation.NAME, LAYOUT_TEMPLATE_NAME, SCREEN_TEMPLATE_NAME, NAVIGATION_TEMPLATE_NAME
+ Page.NAME, Screen.NAME, Layout.NAME, Navigation.NAME,
+ LAYOUT_TEMPLATE_NAME, SCREEN_TEMPLATE_NAME, NAVIGATION_TEMPLATE_NAME
+ };
+
+ String [] mapperKeys = new String [] {
+ Page.NAME, Screen.NAME, Layout.NAME, Navigation.NAME,
+ Layout.NAME, Screen.NAME, Navigation.NAME
};
String [] mapperClasses = new String [] {
@@ -698,17 +700,24 @@
ScreenTemplateMapper.class.getName(),
DirectTemplateMapper.class.getName()
};
-
- int [] mapperCacheSize = new int [] {
- PageLoader.getInstance().getCacheSize(),
- ScreenLoader.getInstance().getCacheSize(),
- LayoutLoader.getInstance().getCacheSize(),
- NavigationLoader.getInstance().getCacheSize(),
- LayoutLoader.getInstance().getCacheSize(),
- ScreenLoader.getInstance().getCacheSize(),
- NavigationLoader.getInstance().getCacheSize()
- };
-
+
+ AssemblerBrokerService ab = (AssemblerBrokerService)TurbineServices.getInstance()
+ .getService(AssemblerBrokerService.SERVICE_NAME);
+
+ int [] mapperCacheSize = new int [mapperKeys.length];
+ Loader [] mapperLoader = new Loader [mapperKeys.length];
+
+ for (int i = 0; i < mapperKeys.length; i++)
+ {
+ mapperLoader[i] = ab.getLoader(mapperKeys[i]);
+ mapperCacheSize[i] = (mapperLoader[i] != null) ? mapperLoader[i].getCacheSize() : 0;
+ }
+
+ // HACK: to achieve the same behaviour as before
+ mapperLoader[LAYOUT_TEMPLATE_KEY] = null;
+ mapperLoader[SCREEN_TEMPLATE_KEY] = null;
+ mapperLoader[NAVIGATION_TEMPLATE_KEY] = null;
+
String [] mapperDefaultProperty = new String [] {
TemplateEngineService.DEFAULT_PAGE,
TemplateEngineService.DEFAULT_SCREEN,
@@ -721,13 +730,6 @@
char [] mapperSeparator = new char [] { '.', '.', '.', '.', '/', '/', '/' };
- Loader [] mapperLoader = new Loader [] {
- PageLoader.getInstance(),
- ScreenLoader.getInstance(),
- LayoutLoader.getInstance(),
- NavigationLoader.getInstance(),
- null, null, null};
-
String [] mapperPrefix = new String [] {
null, null, null, null,
Layout.PREFIX,