You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Glen Mazza <gl...@gmail.com> on 2013/07/26 12:58:44 UTC
Re: svn commit: r1507257
Greg, does "mvn clean install" work for you? What OS do you use (I
didn't get a response yet from Dave whether he ever got tests working on
his Mac-based OS.) So far we're OK with Linux (both my machine and
Jenkins.) I have to move a couple of classes from the test to the src
branch from "mvn clean install -Dmaven.test.skip" to work again but
that's a separate matter.
Thanks,
Glen
On 07/26/2013 06:53 AM, ghuber@apache.org wrote:
> Author: ghuber
> Date: Fri Jul 26 10:53:41 2013
> New Revision: 1507257
>
> URL: http://svn.apache.org/r1507257
> Log:
> Testing changes
>
> Modified:
> roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java
> roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
>
> Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java
> URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java?rev=1507257&r1=1507256&r2=1507257&view=diff
> ==============================================================================
> --- roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java (original)
> +++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java Fri Jul 26 10:53:41 2013
> @@ -53,211 +53,228 @@ import org.apache.roller.weblogger.ui.re
> import org.apache.roller.weblogger.util.I18nMessages;
> import org.apache.roller.weblogger.util.cache.CachedContent;
>
> -
> /**
> * Handles search queries for weblogs.
> */
> -public class SearchServlet extends HttpServlet {
> +public class SearchServlet extends HttpServlet {
> private static Log log = LogFactory.getLog(SearchServlet.class);
> -
> +
> // Development theme reloading
> - Boolean themeReload = false;
> -
> + Boolean themeReload = false;
> +
> /**
> * Init method for this servlet
> */
> public void init(ServletConfig servletConfig) throws ServletException {
> -
> +
> super.init(servletConfig);
> -
> +
> log.info("Initializing SearchServlet");
> +
> + // Development theme reloading
> + themeReload = WebloggerConfig.getBooleanProperty("themes.reload.mode");
> }
> -
> -
> +
> /**
> * Handle GET requests for weblog pages.
> */
> - public void doGet(HttpServletRequest request, HttpServletResponse response)
> + public void doGet(HttpServletRequest request, HttpServletResponse response)
> throws ServletException, IOException {
> -
> +
> log.debug("Entering");
> -
> +
> Weblog weblog = null;
> WeblogSearchRequest searchRequest = null;
> -
> +
> // first off lets parse the incoming request and validate it
> try {
> searchRequest = new WeblogSearchRequest(request);
> -
> +
> // now make sure the specified weblog really exists
> - weblog = WebloggerFactory.getWeblogger().getWeblogManager()
> - .getWeblogByHandle(searchRequest.getWeblogHandle(), Boolean.TRUE);
> -
> - } catch(Exception e) {
> + weblog = WebloggerFactory
> + .getWeblogger()
> + .getWeblogManager()
> + .getWeblogByHandle(searchRequest.getWeblogHandle(),
> + Boolean.TRUE);
> +
> + } catch (Exception e) {
> // invalid search request format or weblog doesn't exist
> log.debug("error creating weblog search request", e);
> response.sendError(HttpServletResponse.SC_NOT_FOUND);
> return;
> }
>
> - // Get the deviceType from user agent
> - MobileDeviceRepository.DeviceType deviceType = MobileDeviceRepository.getRequestType(request);
> + // Get the deviceType from user agent
> + MobileDeviceRepository.DeviceType deviceType = MobileDeviceRepository
> + .getRequestType(request);
>
> // for previews we explicitly set the deviceType attribute
> if (request.getParameter("type") != null) {
> - deviceType = request.getParameter("type").equals("standard")
> - ? MobileDeviceRepository.DeviceType.standard
> - : MobileDeviceRepository.DeviceType.mobile;
> + deviceType = request.getParameter("type").equals("standard") ? MobileDeviceRepository.DeviceType.standard
> + : MobileDeviceRepository.DeviceType.mobile;
> }
> -
> +
> // do we need to force a specific locale for the request?
> - if(searchRequest.getLocale() == null && !weblog.isShowAllLangs()) {
> + if (searchRequest.getLocale() == null && !weblog.isShowAllLangs()) {
> searchRequest.setLocale(weblog.getLocale());
> }
> -
> +
> // lookup template to use for rendering
> ThemeTemplate page = null;
> try {
>
> // try looking for a specific search page
> - page = weblog.getTheme().getTemplateByAction(ThemeTemplate.ACTION_SEARCH);
> + page = weblog.getTheme().getTemplateByAction(
> + ThemeTemplate.ACTION_SEARCH);
>
> // if not found then fall back on default page
> - if(page == null) {
> + if (page == null) {
> page = weblog.getTheme().getDefaultTemplate();
> }
> -
> +
> // if still null then that's a problem
> - if(page == null) {
> - throw new WebloggerException("Could not lookup default page "+
> - "for weblog "+weblog.getHandle());
> + if (page == null) {
> + throw new WebloggerException("Could not lookup default page "
> + + "for weblog " + weblog.getHandle());
> }
> - } catch(Exception e) {
> - log.error("Error getting default page for weblog "+
> - weblog.getHandle(), e);
> + } catch (Exception e) {
> + log.error(
> + "Error getting default page for weblog "
> + + weblog.getHandle(), e);
> }
> -
> +
> // set the content type
> response.setContentType("text/html; charset=utf-8");
> -
> +
> // looks like we need to render content
> Map model = new HashMap();
> try {
> - PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(
> - this, request, response,"", false, 8192, true);
> -
> + PageContext pageContext = JspFactory.getDefaultFactory()
> + .getPageContext(this, request, response, "", false, 8192,
> + true);
> +
> // populate the rendering model
> Map initData = new HashMap();
> initData.put("request", request);
> initData.put("pageContext", pageContext);
> -
> +
> // this is a little hacky, but nothing we can do about it
> // we need the 'weblogRequest' to be a pageRequest so other models
> // are properly loaded, which means that searchRequest needs its
> - // own custom initData property aside from the standard weblogRequest.
> - // possible better approach is make searchRequest extend pageRequest.
> + // own custom initData property aside from the standard
> + // weblogRequest.
> + // possible better approach is make searchRequest extend
> + // pageRequest.
> WeblogPageRequest pageRequest = new WeblogPageRequest();
> pageRequest.setWeblogHandle(searchRequest.getWeblogHandle());
> - pageRequest.setWeblogCategoryName(searchRequest.getWeblogCategoryName());
> + pageRequest.setWeblogCategoryName(searchRequest
> + .getWeblogCategoryName());
> pageRequest.setLocale(searchRequest.getLocale());
> initData.put("parsedRequest", pageRequest);
> initData.put("searchRequest", searchRequest);
> -
> +
> // define url strategy
> - initData.put("urlStrategy", WebloggerFactory.getWeblogger().getUrlStrategy());
> -
> + initData.put("urlStrategy", WebloggerFactory.getWeblogger()
> + .getUrlStrategy());
> +
> // Load models for pages
> - String searchModels = WebloggerConfig.getProperty("rendering.searchModels");
> + String searchModels = WebloggerConfig
> + .getProperty("rendering.searchModels");
> ModelLoader.loadModels(searchModels, model, initData, true);
> -
> +
> // Load special models for site-wide blog
> - if(WebloggerRuntimeConfig.isSiteWideWeblog(weblog.getHandle())) {
> - String siteModels = WebloggerConfig.getProperty("rendering.siteModels");
> + if (WebloggerRuntimeConfig.isSiteWideWeblog(weblog.getHandle())) {
> + String siteModels = WebloggerConfig
> + .getProperty("rendering.siteModels");
> ModelLoader.loadModels(siteModels, model, initData, true);
> }
>
> // Load weblog custom models
> ModelLoader.loadCustomModels(weblog, model, initData);
> -
> +
> // manually add search model again to support pre-3.0 weblogs
> Model searchModel = new SearchResultsModel();
> searchModel.init(initData);
> model.put("searchResults", searchModel);
> -
> +
> } catch (WebloggerException ex) {
> log.error("Error loading model objects for page", ex);
> -
> - if(!response.isCommitted()) response.reset();
> +
> + if (!response.isCommitted())
> + response.reset();
> response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
> return;
> }
>
> // Development only. Reload if theme has been modified
> if (themeReload
> - && !weblog.getEditorTheme().equals(
> - WeblogTemplate.ACTION_CUSTOM)
> - && (searchRequest.getPathInfo() == null || searchRequest
> - .getPathInfo() != null
> - && !searchRequest.getPathInfo().endsWith(".css"))) {
> -
> - try {
> - ThemeManager manager = WebloggerFactory.getWeblogger().getThemeManager();
> - boolean reloaded = manager.reLoadThemeFromDisk(weblog.getEditorTheme());
> - if (reloaded) {
> - if (WebloggerRuntimeConfig.isSiteWideWeblog(searchRequest.getWeblogHandle())) {
> - SiteWideCache.getInstance().clear();
> - } else {
> - WeblogPageCache.getInstance().clear();
> - }
> - I18nMessages.reloadBundle(weblog.getLocaleInstance());
> - }
> -
> - } catch (Exception ex) {
> - log.error("ERROR - reloading theme " + ex);
> - }
> - }
> + && !weblog.getEditorTheme()
> + .equals(WeblogTemplate.ACTION_CUSTOM)
> + && (searchRequest.getPathInfo() == null || searchRequest
> + .getPathInfo() != null)) {
> +
> + try {
> + ThemeManager manager = WebloggerFactory.getWeblogger()
> + .getThemeManager();
> + boolean reloaded = manager.reLoadThemeFromDisk(weblog
> + .getEditorTheme());
> + if (reloaded) {
> + if (WebloggerRuntimeConfig.isSiteWideWeblog(searchRequest
> + .getWeblogHandle())) {
> + SiteWideCache.getInstance().clear();
> + } else {
> + WeblogPageCache.getInstance().clear();
> + }
> + I18nMessages.reloadBundle(weblog.getLocaleInstance());
> + }
> +
> + } catch (Exception ex) {
> + log.error("ERROR - reloading theme " + ex);
> + }
> + }
>
> // lookup Renderer we are going to use
> Renderer renderer = null;
> try {
> log.debug("Looking up renderer");
> renderer = RendererManager.getRenderer(page, deviceType);
> - } catch(Exception e) {
> + } catch (Exception e) {
> // nobody wants to render my content :(
> log.error("Couldn't find renderer for rsd template", e);
> -
> - if(!response.isCommitted()) response.reset();
> +
> + if (!response.isCommitted())
> + response.reset();
> response.sendError(HttpServletResponse.SC_NOT_FOUND);
> return;
> }
> -
> +
> // render content
> CachedContent rendererOutput = new CachedContent(4096);
> try {
> log.debug("Doing rendering");
> renderer.render(model, rendererOutput.getCachedWriter());
> -
> +
> // flush rendered output and close
> rendererOutput.flush();
> rendererOutput.close();
> - } catch(Exception e) {
> + } catch (Exception e) {
> // bummer, error during rendering
> log.error("Error during rendering for rsd template", e);
> -
> - if(!response.isCommitted()) response.reset();
> +
> + if (!response.isCommitted())
> + response.reset();
> response.sendError(HttpServletResponse.SC_NOT_FOUND);
> return;
> }
> -
> -
> +
> // post rendering process
> -
> +
> // flush rendered content to response
> log.debug("Flushing response output");
> response.setContentLength(rendererOutput.getContent().length);
> response.getOutputStream().write(rendererOutput.getContent());
> -
> +
> log.debug("Exiting");
> }
> -
> +
> }
>
> Modified: roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
> URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm?rev=1507257&r1=1507256&r2=1507257&view=diff
> ==============================================================================
> --- roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm (original)
> +++ roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm Fri Jul 26 10:53:41 2013
> @@ -70,7 +70,7 @@
> </select>
> <input type="submit" value="$text.get( "macro.weblog.searchagain" )" />
> </form>
> - $text.get( "macro.weblog.searchgoogle", [$model.term, $url.absoluteSite, $url.site, ${website.handle}] )
> + $text.get( "macro.weblog.searchgoogle", [$model.term, $url.absoluteSite, $url.site, ${model.weblog.handle}] )
>
> #if ($model.hits > 0)
> #showNextPrevSearchControl($pager)
>
>
Re: svn commit: r1507257
Posted by Glen Mazza <gl...@gmail.com>.
I haven't noticed any shortcomings whatsoever in the community version
-- it does everything I want, including debugging/code tracing while a
webapp is running on Tomcat. My recommendation would be to try out the
freebie version before considering the commercial version, if it's
indeed only 70% (or whatever) the size of the main version, it will be
that much zippier on your laptop.
Roller is a sleepy project, but may have enough activity to qualify for
the commercial version, I don't know.
Glen
On 07/26/2013 02:22 PM, Greg Huber wrote:
> Glen,
>
> Would this apply for roller?
>
> http://www.jetbrains.com/idea/buy/buy.jsp#openSource
>
> It hints that the community version is more of a trial than something more
> long term.
>
> Cheers Greg
>
> On 26 July 2013 13:23, Glen Mazza <gl...@gmail.com> wrote:
>
>> I just use the free community edition, switched over from Eclipse about a
>> month ago and I'm quite happy with it.
>>
>> Glen
>>
>> On 07/26/2013 08:20 AM, Greg Huber wrote:
>>
>>> lucky you guys!!
>>>
>>> On 26 July 2013 12:52, Glen Mazza <gl...@gmail.com> wrote:
>>>
>>> Absolutely -- just removed it. (That file was two years old, and Dave &
>>>> I
>>>> are both on IntelliJ now anyway.)
>>>>
>>>> Glen
>>>>
>>>> On 07/26/2013 07:44 AM, Greg Huber wrote:
>>>>
>>>> Glen,
>>>>> Can we remove the .settings folder from the trunk. It causes problems
>>>>> where it updates my .settings and I then have to reset my "working"
>>>>> workspace.
>>>>>
>>>>> May be add a .svnigore so it never gets committed?
>>>>>
>>>>> Cheers Greg.
>>>>>
>>>>>
>>>>>
Re: svn commit: r1507257
Posted by Greg Huber <gr...@gmail.com>.
Glen,
Would this apply for roller?
http://www.jetbrains.com/idea/buy/buy.jsp#openSource
It hints that the community version is more of a trial than something more
long term.
Cheers Greg
On 26 July 2013 13:23, Glen Mazza <gl...@gmail.com> wrote:
> I just use the free community edition, switched over from Eclipse about a
> month ago and I'm quite happy with it.
>
> Glen
>
> On 07/26/2013 08:20 AM, Greg Huber wrote:
>
>> lucky you guys!!
>>
>> On 26 July 2013 12:52, Glen Mazza <gl...@gmail.com> wrote:
>>
>> Absolutely -- just removed it. (That file was two years old, and Dave &
>>> I
>>> are both on IntelliJ now anyway.)
>>>
>>> Glen
>>>
>>> On 07/26/2013 07:44 AM, Greg Huber wrote:
>>>
>>> Glen,
>>>>
>>>> Can we remove the .settings folder from the trunk. It causes problems
>>>> where it updates my .settings and I then have to reset my "working"
>>>> workspace.
>>>>
>>>> May be add a .svnigore so it never gets committed?
>>>>
>>>> Cheers Greg.
>>>>
>>>>
>>>>
>
Re: svn commit: r1507257
Posted by Glen Mazza <gl...@gmail.com>.
I just use the free community edition, switched over from Eclipse about
a month ago and I'm quite happy with it.
Glen
On 07/26/2013 08:20 AM, Greg Huber wrote:
> lucky you guys!!
>
> On 26 July 2013 12:52, Glen Mazza <gl...@gmail.com> wrote:
>
>> Absolutely -- just removed it. (That file was two years old, and Dave & I
>> are both on IntelliJ now anyway.)
>>
>> Glen
>>
>> On 07/26/2013 07:44 AM, Greg Huber wrote:
>>
>>> Glen,
>>>
>>> Can we remove the .settings folder from the trunk. It causes problems
>>> where it updates my .settings and I then have to reset my "working"
>>> workspace.
>>>
>>> May be add a .svnigore so it never gets committed?
>>>
>>> Cheers Greg.
>>>
>>>
Re: svn commit: r1507257
Posted by Greg Huber <gr...@gmail.com>.
lucky you guys!!
On 26 July 2013 12:52, Glen Mazza <gl...@gmail.com> wrote:
> Absolutely -- just removed it. (That file was two years old, and Dave & I
> are both on IntelliJ now anyway.)
>
> Glen
>
> On 07/26/2013 07:44 AM, Greg Huber wrote:
>
>> Glen,
>>
>> Can we remove the .settings folder from the trunk. It causes problems
>> where it updates my .settings and I then have to reset my "working"
>> workspace.
>>
>> May be add a .svnigore so it never gets committed?
>>
>> Cheers Greg.
>>
>>
>
Re: svn commit: r1507257
Posted by Glen Mazza <gl...@gmail.com>.
Absolutely -- just removed it. (That file was two years old, and Dave &
I are both on IntelliJ now anyway.)
Glen
On 07/26/2013 07:44 AM, Greg Huber wrote:
> Glen,
>
> Can we remove the .settings folder from the trunk. It causes problems
> where it updates my .settings and I then have to reset my "working"
> workspace.
>
> May be add a .svnigore so it never gets committed?
>
> Cheers Greg.
>
Re: svn commit: r1507257
Posted by Greg Huber <gr...@gmail.com>.
Glen,
Can we remove the .settings folder from the trunk. It causes problems
where it updates my .settings and I then have to reset my "working"
workspace.
May be add a .svnigore so it never gets committed?
Cheers Greg.
Re: svn commit: r1507257
Posted by Greg Huber <gr...@gmail.com>.
Glen,
Yes it's building OK, I am on Centos 5.9 with Eclipse.
There is one error highlighed and on:
roller-project/app/src/main/webapp/WEB-INF/jetty-env.xml
where it does not like multiple <Ref id="wac"/> elements.
btw good job the jpa enhanch stuff has gone away!
Cheers Greg
On 26 July 2013 11:58, Glen Mazza <gl...@gmail.com> wrote:
> Greg, does "mvn clean install" work for you? What OS do you use (I didn't
> get a response yet from Dave whether he ever got tests working on his
> Mac-based OS.) So far we're OK with Linux (both my machine and Jenkins.)
> I have to move a couple of classes from the test to the src branch from
> "mvn clean install -Dmaven.test.skip" to work again but that's a separate
> matter.
>
> Thanks,
> Glen
>
>
> On 07/26/2013 06:53 AM, ghuber@apache.org wrote:
>
>> Author: ghuber
>> Date: Fri Jul 26 10:53:41 2013
>> New Revision: 1507257
>>
>> URL: http://svn.apache.org/r1507257
>> Log:
>> Testing changes
>>
>> Modified:
>> roller/trunk/app/src/main/**java/org/apache/roller/**
>> weblogger/ui/rendering/**servlets/SearchServlet.java
>> roller/trunk/app/src/main/**webapp/themes/fauxcoly/search.**vm
>>
>> Modified: roller/trunk/app/src/main/**java/org/apache/roller/**
>> weblogger/ui/rendering/**servlets/SearchServlet.java
>> URL: http://svn.apache.org/viewvc/**roller/trunk/app/src/main/**
>> java/org/apache/roller/**weblogger/ui/rendering/**
>> servlets/SearchServlet.java?**rev=1507257&r1=1507256&r2=**
>> 1507257&view=diff<http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java?rev=1507257&r1=1507256&r2=1507257&view=diff>
>> ==============================**==============================**
>> ==================
>> --- roller/trunk/app/src/main/**java/org/apache/roller/**
>> weblogger/ui/rendering/**servlets/SearchServlet.java (original)
>> +++ roller/trunk/app/src/main/**java/org/apache/roller/**
>> weblogger/ui/rendering/**servlets/SearchServlet.java Fri Jul 26 10:53:41
>> 2013
>> @@ -53,211 +53,228 @@ import org.apache.roller.weblogger.**ui.re<http://org.apache.roller.weblogger.ui.re>
>> import org.apache.roller.weblogger.**util.I18nMessages;
>> import org.apache.roller.weblogger.**util.cache.CachedContent;
>> -
>> /**
>> * Handles search queries for weblogs.
>> */
>> -public class SearchServlet extends HttpServlet {
>> +public class SearchServlet extends HttpServlet {
>> private static Log log = LogFactory.getLog(**SearchServlet.class);
>> -
>> +
>> // Development theme reloading
>> - Boolean themeReload = false;
>> -
>> + Boolean themeReload = false;
>> +
>> /**
>> * Init method for this servlet
>> */
>> public void init(ServletConfig servletConfig) throws
>> ServletException {
>> -
>> +
>> super.init(servletConfig);
>> -
>> +
>> log.info("Initializing SearchServlet");
>> +
>> + // Development theme reloading
>> + themeReload = WebloggerConfig.**getBooleanProperty("themes.**
>> reload.mode");
>> }
>> -
>> -
>> +
>> /**
>> * Handle GET requests for weblog pages.
>> */
>> - public void doGet(HttpServletRequest request, HttpServletResponse
>> response)
>> + public void doGet(HttpServletRequest request, HttpServletResponse
>> response)
>> throws ServletException, IOException {
>> -
>> +
>> log.debug("Entering");
>> -
>> +
>> Weblog weblog = null;
>> WeblogSearchRequest searchRequest = null;
>> -
>> +
>> // first off lets parse the incoming request and validate it
>> try {
>> searchRequest = new WeblogSearchRequest(request);
>> -
>> +
>> // now make sure the specified weblog really exists
>> - weblog = WebloggerFactory.getWeblogger(**
>> ).getWeblogManager()
>> - .getWeblogByHandle(**searchRequest.getWeblogHandle(*
>> *), Boolean.TRUE);
>> -
>> - } catch(Exception e) {
>> + weblog = WebloggerFactory
>> + .getWeblogger()
>> + .getWeblogManager()
>> + .getWeblogByHandle(**searchRequest.getWeblogHandle(*
>> *),
>> + Boolean.TRUE);
>> +
>> + } catch (Exception e) {
>> // invalid search request format or weblog doesn't exist
>> log.debug("error creating weblog search request", e);
>> response.sendError(**HttpServletResponse.SC_NOT_**FOUND);
>> return;
>> }
>> - // Get the deviceType from user agent
>> - MobileDeviceRepository.**DeviceType deviceType =
>> MobileDeviceRepository.**getRequestType(request);
>> + // Get the deviceType from user agent
>> + MobileDeviceRepository.**DeviceType deviceType =
>> MobileDeviceRepository
>> + .getRequestType(request);
>> // for previews we explicitly set the deviceType attribute
>> if (request.getParameter("type") != null) {
>> - deviceType = request.getParameter("type").**
>> equals("standard")
>> - ? MobileDeviceRepository.**
>> DeviceType.standard
>> - : MobileDeviceRepository.**
>> DeviceType.mobile;
>> + deviceType = request.getParameter("type").**equals("standard")
>> ? MobileDeviceRepository.**DeviceType.standard
>> + : MobileDeviceRepository.**DeviceType.mobile;
>> }
>> -
>> +
>> // do we need to force a specific locale for the request?
>> - if(searchRequest.getLocale() == null &&
>> !weblog.isShowAllLangs()) {
>> + if (searchRequest.getLocale() == null &&
>> !weblog.isShowAllLangs()) {
>> searchRequest.setLocale(**weblog.getLocale());
>> }
>> -
>> +
>> // lookup template to use for rendering
>> ThemeTemplate page = null;
>> try {
>> // try looking for a specific search page
>> - page = weblog.getTheme().**getTemplateByAction(**
>> ThemeTemplate.ACTION_SEARCH);
>> + page = weblog.getTheme().**getTemplateByAction(
>> + ThemeTemplate.ACTION_SEARCH);
>> // if not found then fall back on default page
>> - if(page == null) {
>> + if (page == null) {
>> page = weblog.getTheme().**getDefaultTemplate();
>> }
>> -
>> +
>> // if still null then that's a problem
>> - if(page == null) {
>> - throw new WebloggerException("Could not lookup default
>> page "+
>> - "for weblog "+weblog.getHandle());
>> + if (page == null) {
>> + throw new WebloggerException("Could not lookup default
>> page "
>> + + "for weblog " + weblog.getHandle());
>> }
>> - } catch(Exception e) {
>> - log.error("Error getting default page for weblog "+
>> - weblog.getHandle(), e);
>> + } catch (Exception e) {
>> + log.error(
>> + "Error getting default page for weblog "
>> + + weblog.getHandle(), e);
>> }
>> -
>> +
>> // set the content type
>> response.setContentType("text/**html; charset=utf-8");
>> -
>> +
>> // looks like we need to render content
>> Map model = new HashMap();
>> try {
>> - PageContext pageContext = JspFactory.getDefaultFactory()**
>> .getPageContext(
>> - this, request, response,"", false, 8192, true);
>> -
>> + PageContext pageContext = JspFactory.getDefaultFactory()
>> + .getPageContext(this, request, response, "", false,
>> 8192,
>> + true);
>> +
>> // populate the rendering model
>> Map initData = new HashMap();
>> initData.put("request", request);
>> initData.put("pageContext", pageContext);
>> -
>> +
>> // this is a little hacky, but nothing we can do about it
>> // we need the 'weblogRequest' to be a pageRequest so other
>> models
>> // are properly loaded, which means that searchRequest
>> needs its
>> - // own custom initData property aside from the standard
>> weblogRequest.
>> - // possible better approach is make searchRequest extend
>> pageRequest.
>> + // own custom initData property aside from the standard
>> + // weblogRequest.
>> + // possible better approach is make searchRequest extend
>> + // pageRequest.
>> WeblogPageRequest pageRequest = new WeblogPageRequest();
>> pageRequest.setWeblogHandle(**
>> searchRequest.getWeblogHandle(**));
>> - pageRequest.**setWeblogCategoryName(**searchRequest.**
>> getWeblogCategoryName());
>> + pageRequest.**setWeblogCategoryName(**searchRequest
>> + .getWeblogCategoryName());
>> pageRequest.setLocale(**searchRequest.getLocale());
>> initData.put("parsedRequest", pageRequest);
>> initData.put("searchRequest", searchRequest);
>> -
>> +
>> // define url strategy
>> - initData.put("urlStrategy", WebloggerFactory.getWeblogger(**
>> ).getUrlStrategy());
>> -
>> + initData.put("urlStrategy", WebloggerFactory.getWeblogger(**
>> )
>> + .getUrlStrategy());
>> +
>> // Load models for pages
>> - String searchModels = WebloggerConfig.getProperty("**
>> rendering.searchModels");
>> + String searchModels = WebloggerConfig
>> + .getProperty("rendering.**searchModels");
>> ModelLoader.loadModels(**searchModels, model, initData,
>> true);
>> -
>> +
>> // Load special models for site-wide blog
>> - if(WebloggerRuntimeConfig.**isSiteWideWeblog(weblog.**getHandle()))
>> {
>> - String siteModels = WebloggerConfig.getProperty("**
>> rendering.siteModels");
>> + if (WebloggerRuntimeConfig.**isSiteWideWeblog(weblog.**getHandle()))
>> {
>> + String siteModels = WebloggerConfig
>> + .getProperty("rendering.**siteModels");
>> ModelLoader.loadModels(**siteModels, model, initData,
>> true);
>> }
>> // Load weblog custom models
>> ModelLoader.loadCustomModels(**weblog, model, initData);
>> -
>> +
>> // manually add search model again to support pre-3.0
>> weblogs
>> Model searchModel = new SearchResultsModel();
>> searchModel.init(initData);
>> model.put("searchResults", searchModel);
>> -
>> +
>> } catch (WebloggerException ex) {
>> log.error("Error loading model objects for page", ex);
>> -
>> - if(!response.isCommitted()) response.reset();
>> +
>> + if (!response.isCommitted())
>> + response.reset();
>> response.sendError(**HttpServletResponse.SC_**
>> INTERNAL_SERVER_ERROR);
>> return;
>> }
>> // Development only. Reload if theme has been modified
>> if (themeReload
>> - && !weblog.getEditorTheme().**equals(
>> - WeblogTemplate.ACTION_CUSTOM)
>> - && (searchRequest.getPathInfo()
>> == null || searchRequest
>> - .getPathInfo() != null
>> - && !searchRequest.getPathInfo().*
>> *endsWith(".css"))) {
>> -
>> - try {
>> - ThemeManager manager =
>> WebloggerFactory.getWeblogger(**).getThemeManager();
>> - boolean reloaded =
>> manager.reLoadThemeFromDisk(**weblog.getEditorTheme());
>> - if (reloaded) {
>> - if (WebloggerRuntimeConfig.**
>> isSiteWideWeblog(**searchRequest.getWeblogHandle(**))) {
>> -
>> SiteWideCache.getInstance().**clear();
>> - } else {
>> -
>> WeblogPageCache.getInstance().**clear();
>> - }
>> - I18nMessages.reloadBundle(**
>> weblog.getLocaleInstance());
>> - }
>> -
>> - } catch (Exception ex) {
>> - log.error("ERROR - reloading theme " +
>> ex);
>> - }
>> - }
>> + && !weblog.getEditorTheme()
>> + .equals(WeblogTemplate.ACTION_**CUSTOM)
>> + && (searchRequest.getPathInfo() == null || searchRequest
>> + .getPathInfo() != null)) {
>> +
>> + try {
>> + ThemeManager manager = WebloggerFactory.getWeblogger(**)
>> + .getThemeManager();
>> + boolean reloaded = manager.reLoadThemeFromDisk(**weblog
>> + .getEditorTheme());
>> + if (reloaded) {
>> + if (WebloggerRuntimeConfig.**
>> isSiteWideWeblog(searchRequest
>> + .getWeblogHandle())) {
>> + SiteWideCache.getInstance().**clear();
>> + } else {
>> + WeblogPageCache.getInstance().**clear();
>> + }
>> + I18nMessages.reloadBundle(**
>> weblog.getLocaleInstance());
>> + }
>> +
>> + } catch (Exception ex) {
>> + log.error("ERROR - reloading theme " + ex);
>> + }
>> + }
>> // lookup Renderer we are going to use
>> Renderer renderer = null;
>> try {
>> log.debug("Looking up renderer");
>> renderer = RendererManager.getRenderer(**page, deviceType);
>> - } catch(Exception e) {
>> + } catch (Exception e) {
>> // nobody wants to render my content :(
>> log.error("Couldn't find renderer for rsd template", e);
>> -
>> - if(!response.isCommitted()) response.reset();
>> +
>> + if (!response.isCommitted())
>> + response.reset();
>> response.sendError(**HttpServletResponse.SC_NOT_**FOUND);
>> return;
>> }
>> -
>> +
>> // render content
>> CachedContent rendererOutput = new CachedContent(4096);
>> try {
>> log.debug("Doing rendering");
>> renderer.render(model, rendererOutput.**getCachedWriter());
>> -
>> +
>> // flush rendered output and close
>> rendererOutput.flush();
>> rendererOutput.close();
>> - } catch(Exception e) {
>> + } catch (Exception e) {
>> // bummer, error during rendering
>> log.error("Error during rendering for rsd template", e);
>> -
>> - if(!response.isCommitted()) response.reset();
>> +
>> + if (!response.isCommitted())
>> + response.reset();
>> response.sendError(**HttpServletResponse.SC_NOT_**FOUND);
>> return;
>> }
>> -
>> -
>> +
>> // post rendering process
>> -
>> +
>> // flush rendered content to response
>> log.debug("Flushing response output");
>> response.setContentLength(**rendererOutput.getContent().**
>> length);
>> response.getOutputStream().**write(rendererOutput.**
>> getContent());
>> -
>> +
>> log.debug("Exiting");
>> }
>> -
>> +
>> }
>>
>> Modified: roller/trunk/app/src/main/**webapp/themes/fauxcoly/search.**vm
>> URL: http://svn.apache.org/viewvc/**roller/trunk/app/src/main/**
>> webapp/themes/fauxcoly/search.**vm?rev=1507257&r1=1507256&r2=**
>> 1507257&view=diff<http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm?rev=1507257&r1=1507256&r2=1507257&view=diff>
>> ==============================**==============================**
>> ==================
>> --- roller/trunk/app/src/main/**webapp/themes/fauxcoly/search.**vm
>> (original)
>> +++ roller/trunk/app/src/main/**webapp/themes/fauxcoly/search.**vm Fri
>> Jul 26 10:53:41 2013
>> @@ -70,7 +70,7 @@
>> </select>
>> <input type="submit" value="$text.get(
>> "macro.weblog.searchagain" )" />
>> </form>
>> - $text.get( "macro.weblog.searchgoogle", [$model.term,
>> $url.absoluteSite, $url.site, ${website.handle}] )
>> + $text.get( "macro.weblog.searchgoogle", [$model.term,
>> $url.absoluteSite, $url.site, ${model.weblog.handle}] )
>> #if ($model.hits > 0)
>> #showNextPrevSearchControl($**pager)
>>
>>
>>
>