You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/03/20 14:07:47 UTC
svn commit: r520378 [1/2] - in
/incubator/roller/branches/roller_4.0_newbackend: ./
apps/planet/src/java/org/apache/roller/planet/tasks/
apps/planet/src/java/org/apache/roller/planet/ui/core/
apps/planet/src/java/org/apache/roller/util/ docs/devguide/ ...
Author: snoopdave
Date: Tue Mar 20 06:07:41 2007
New Revision: 520378
URL: http://svn.apache.org/viewvc?view=rev&rev=520378
Log:
Merging latest from trunk
Added:
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/PlanetTask.java
- copied unchanged from r520240, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/PlanetTask.java
incubator/roller/branches/roller_4.0_newbackend/docs/devguide/
- copied from r520240, incubator/roller/trunk/docs/devguide/
incubator/roller/branches/roller_4.0_newbackend/docs/devguide/roller-dev-guide.odt
- copied unchanged from r520240, incubator/roller/trunk/docs/devguide/roller-dev-guide.odt
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogTemplateFormEx.java
- copied unchanged from r520240, incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogTemplateFormEx.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsFeedModel.java
- copied unchanged from r520240, incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SearchResultsFeedModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/pagers/SearchResultsFeedPager.java
- copied unchanged from r520240, incubator/roller/trunk/src/org/apache/roller/ui/rendering/pagers/SearchResultsFeedPager.java
incubator/roller/branches/roller_4.0_newbackend/tools/spring-1.2/acegi-security-1.0.3.jar
- copied unchanged from r520240, incubator/roller/trunk/tools/spring-1.2/acegi-security-1.0.3.jar
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/templates/feeds/weblog-search-atom.vm
- copied unchanged from r520240, incubator/roller/trunk/web/WEB-INF/velocity/templates/feeds/weblog-search-atom.vm
incubator/roller/branches/roller_4.0_newbackend/web/images/launch-link.png
- copied unchanged from r520240, incubator/roller/trunk/web/images/launch-link.png
incubator/roller/branches/roller_4.0_newbackend/web/images/lock.png
- copied unchanged from r520240, incubator/roller/trunk/web/images/lock.png
incubator/roller/branches/roller_4.0_newbackend/web/images/page_white.png
- copied unchanged from r520240, incubator/roller/trunk/web/images/page_white.png
incubator/roller/branches/roller_4.0_newbackend/web/images/page_white_delete.png
- copied unchanged from r520240, incubator/roller/trunk/web/images/page_white_delete.png
incubator/roller/branches/roller_4.0_newbackend/web/images/page_white_gear.png
- copied unchanged from r520240, incubator/roller/trunk/web/images/page_white_gear.png
Removed:
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/formbeans/CommentFormEx.java
incubator/roller/branches/roller_4.0_newbackend/tools/spring-1.2/acegi-security-1.0.1.jar
Modified:
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/util/TaskRunner.java
incubator/roller/branches/roller_4.0_newbackend/merges.txt
incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/3xx-to-400-migration.vm
incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/createdb.vm
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/planet/tasks/SyncWebsitesTask.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/StaticTemplate.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/Template.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/ThemeTemplate.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/WeblogTemplate.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/actions/WeblogTemplateFormAction.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/Renderer.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererFactory.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererManager.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RequestMapper.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/WeblogRequestMapper.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/ConfigModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/FeedModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SiteModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/URLModel.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/package.html
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/package.html
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogCommentRequest.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogRequest.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogResourceRequest.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java
incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/util/URLUtilities.java
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/ApplicationResources.properties
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/roller.properties
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/jsps/authoring/CommentManagement.jsp
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/jsps/authoring/edit-page.jsp
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/jsps/authoring/edit-pages.jsp
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/jsps/authoring/remove-page.jsp
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/jsps/tiles/footer.jsp
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/feeds.vm
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/templates/feeds/site-comments-atom.vm
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/templates/feeds/site-entries-atom.vm
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/templates/feeds/weblog-comments-atom.vm
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/templates/feeds/weblog-entries-atom.vm
incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/velocity/weblog.vm
incubator/roller/branches/roller_4.0_newbackend/web/roller-ui/logout-redirect.jsp
incubator/roller/branches/roller_4.0_newbackend/web/roller-ui/theme/tan/colors.css
Modified: incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java Tue Mar 20 06:07:41 2007
@@ -44,9 +44,11 @@
* - Uses Velocity Texen to generate the static files
* </pre>
*/
-public class GeneratePlanetTask implements Runnable {
+public class GeneratePlanetTask extends PlanetTask {
+
private static Log log = LogFactory.getLog(GeneratePlanetTask.class);
+
public void run() {
try {
Planet planet = PlanetFactory.getPlanet();
@@ -113,5 +115,12 @@
} catch (Exception e) {
log.error("ERROR generating planet", e);
}
- }
+ }
+
+ public static void main(String[] args) throws Exception{
+ GeneratePlanetTask task = new GeneratePlanetTask();
+ task.initialize();
+ task.run();
+ }
+
}
Modified: incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java Tue Mar 20 06:07:41 2007
@@ -33,9 +33,11 @@
* - Calls Planet business layer to refresh entries
* </pre>
*/
-public class RefreshPlanetTask implements Runnable {
+public class RefreshPlanetTask extends PlanetTask {
+
private static Log log = LogFactory.getLog(RefreshPlanetTask.class);
+
public void run() {
try {
// Update all feeds in planet
@@ -52,8 +54,10 @@
}
- public static void main(String[] args) {
+ public static void main(String[] args) throws Exception{
RefreshPlanetTask task = new RefreshPlanetTask();
+ task.initialize();
task.run();
}
+
}
Modified: incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java Tue Mar 20 06:07:41 2007
@@ -35,7 +35,7 @@
/**
* Rank each subscription by populating Technorati inbound blog and link counts.
*/
-public class TechnoratiRankingsTask implements Runnable {
+public class TechnoratiRankingsTask extends PlanetTask {
private static Log log = LogFactory.getLog(TechnoratiRankingsTask.class);
@@ -131,6 +131,13 @@
} catch (Exception e) {
log.error("ERROR ranking subscriptions", e);
}
+ }
+
+
+ public static void main(String[] args) throws Exception{
+ TechnoratiRankingsTask task = new TechnoratiRankingsTask();
+ task.initialize();
+ task.run();
}
}
Modified: incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java Tue Mar 20 06:07:41 2007
@@ -65,7 +65,7 @@
*/
public void contextInitialized(ServletContextEvent sce) {
- log.debug("Roller Planet Initializing ... ");
+ log.info("Roller Planet Initializing ... ");
// keep a reverence to ServletContext object
this.context = sce.getServletContext();
@@ -94,7 +94,7 @@
throw new RuntimeException(t);
}
- log.debug("Roller Planet Initialization Complete");
+ log.info("Roller Planet Initialization Complete");
}
Modified: incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/util/TaskRunner.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/util/TaskRunner.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/util/TaskRunner.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/apps/planet/src/java/org/apache/roller/util/TaskRunner.java Tue Mar 20 06:07:41 2007
@@ -18,7 +18,7 @@
package org.apache.roller.util;
import java.io.File;
-import org.apache.roller.util.StandaloneWebappClassLoader;
+import org.apache.roller.planet.tasks.PlanetTask;
/**
* Sets up classpath for Roller and runs a task.
@@ -61,7 +61,8 @@
// Go!
Class taskClass = cl.loadClass(taskClassName);
- Runnable task = (Runnable)taskClass.newInstance();
+ PlanetTask task = (PlanetTask) taskClass.newInstance();
+ task.initialize();
task.run();
}
}
Modified: incubator/roller/branches/roller_4.0_newbackend/merges.txt
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/merges.txt?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/merges.txt (original)
+++ incubator/roller/branches/roller_4.0_newbackend/merges.txt Tue Mar 20 06:07:41 2007
@@ -3,6 +3,9 @@
Temporary file to track merges from trunk into the roller_4.0_newbackend branch.
+March 20, 2007: merging latest from trunk (including template editor changes)
+svn merge -r 517890:520240 https://svn.apache.org/repos/asf/incubator/roller/trunk
+
March 14, 2007: merging latest from trunk
svn merge -r 513798:517889 https://svn.apache.org/repos/asf/incubator/roller/trunk
Modified: incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/3xx-to-400-migration.vm
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/3xx-to-400-migration.vm?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/3xx-to-400-migration.vm (original)
+++ incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/3xx-to-400-migration.vm Tue Mar 20 06:07:41 2007
@@ -4,36 +4,7 @@
DON'T RUN THIS, IT'S NOT A DATABASE CREATION SCRIPT!!!
**#
-
--- id creation needed for JPA/Datamapper backend
-create table roller_id_table (
- pk int not null primary key,
- value int not null
-);
-insert into roller_id_table (pk, value) values (1, 0);
-
-
--- TODO: figure out where these Planet tables belong for 4.0 release
-
-create table planet_id_table (
- pk int not null primary key,
- value int not null
-);
-insert into planet_id_table (pk, value) values (1, 0);
-
-create table rag_properties (
- name varchar(255) not null primary key,
- value $TEXT_SQL_TYPE
-);
-
-create table rag_planet (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- handle varchar(32) not null
-);
-create index ragp_handle_idx on rag_planet(handle);
-
-alter table rag_group add column planet_id varchar(48);
+#addColumnNull("webpage" "outputtype" "varchar(48)")
-- remove old id column of group subscription table
alter table rag_group_subscription drop column id;
Modified: incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/createdb.vm
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/createdb.vm?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/createdb.vm (original)
+++ incubator/roller/branches/roller_4.0_newbackend/metadata/database/tmpls/createdb.vm Tue Mar 20 06:07:41 2007
@@ -83,7 +83,8 @@
hidden $db.BOOLEAN_SQL_TYPE_FALSE not null,
navbar $db.BOOLEAN_SQL_TYPE_FALSE not null,
templatelang varchar(20) not null,
- decorator varchar(255) default null
+ decorator varchar(255) default null,
+ outputtype varchar(48) default null
);
create index wp_name_idx on webpage( name$!db.INDEXSIZE );
create index wp_link_idx on webpage( link$!db.INDEXSIZE );
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/business/search/operations/RebuildWebsiteIndexOperation.java Tue Mar 20 06:07:41 2007
@@ -75,12 +75,14 @@
// since this operation can be run on a separate thread we must treat
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
- try {
- UserManager uMgr = RollerFactory.getRoller().getUserManager();
- this.website = uMgr.getWebsite(this.website.getId());
- } catch (RollerException ex) {
- mLogger.error("Error getting website object", ex);
- return;
+ if(this.website != null) {
+ try {
+ UserManager uMgr = RollerFactory.getRoller().getUserManager();
+ this.website = uMgr.getWebsite(this.website.getId());
+ } catch (RollerException ex) {
+ mLogger.error("Error getting website object", ex);
+ return;
+ }
}
IndexReader reader = beginDeleting();
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/planet/tasks/SyncWebsitesTask.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/planet/tasks/SyncWebsitesTask.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/planet/tasks/SyncWebsitesTask.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/planet/tasks/SyncWebsitesTask.java Tue Mar 20 06:07:41 2007
@@ -155,7 +155,7 @@
WebsiteData weblog = (WebsiteData) websites.next();
String siteUrl = URLUtilities.getWeblogURL(weblog, null, true);
- String feedUrl = URLUtilities.getWeblogFeedURL(weblog, null, "entries", "rss", null, null, false, true);
+ String feedUrl = URLUtilities.getWeblogFeedURL(weblog, null, "entries", "rss", null, null, null, false, true);
// add feed url to the "live" list
liveUserFeeds.add(feedUrl);
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/StaticTemplate.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/StaticTemplate.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/StaticTemplate.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/StaticTemplate.java Tue Mar 20 06:07:41 2007
@@ -40,6 +40,7 @@
private String templateLanguage = null;
private boolean hidden = false;
private boolean navbar = false;
+ private String outputContentType = null;
public StaticTemplate() {}
@@ -132,5 +133,11 @@
return navbar;
}
-
+ public String getOutputContentType() {
+ return outputContentType;
+ }
+
+ public void setOutputContentType(String outputContentType) {
+ this.outputContentType = outputContentType;
+ }
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/Template.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/Template.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/Template.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/Template.java Tue Mar 20 06:07:41 2007
@@ -98,4 +98,9 @@
*/
public Template getDecorator();
+ /**
+ * Content-type of output or null if none defined.
+ */
+ public String getOutputContentType();
+
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/ThemeTemplate.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/ThemeTemplate.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/ThemeTemplate.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/ThemeTemplate.java Tue Mar 20 06:07:41 2007
@@ -39,6 +39,7 @@
private boolean hidden = false;
private boolean navbar = false;
private String decoratorName = null;
+ private String outputContentType = null;
private Theme myTheme = null;
@@ -150,6 +151,14 @@
public void setDecoratorName(String decorator) {
this.decoratorName = decorator;
+ }
+
+ public String getOutputContentType() {
+ return outputContentType;
+ }
+
+ public void setOutputContentType(String outputContentType) {
+ this.outputContentType = outputContentType;
}
public String toString() {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/WeblogTemplate.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/WeblogTemplate.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/WeblogTemplate.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/pojos/WeblogTemplate.java Tue Mar 20 06:07:41 2007
@@ -30,7 +30,7 @@
import org.apache.roller.util.UUIDGenerator;
/**
- * Pojo that represents a single user defined template page.
+ * POJO that represents a single user defined template page.
*
* This template is different from the generic template because it also
* contains a reference to the website it is part of.
@@ -40,8 +40,7 @@
* @hibernate.class lazy="true" table="webpage"
* @hibernate.cache usage="read-write"
*/
-public class WeblogTemplate
- implements Serializable, Template {
+public class WeblogTemplate implements Serializable, Template {
public static final long serialVersionUID = -613737191638263428L;
public static final String DEFAULT_PAGE = "Weblog";
@@ -50,15 +49,16 @@
private static Set requiredTemplates = null;
private String id = UUIDGenerator.generateUUID();
- private String name = null;
- private String description = null;
- private String link = null;
- private String contents = null;
- private Date lastModified = null;
- private String templateLanguage = null;
+ private String name = null;
+ private String description = null;
+ private String link = null;
+ private String contents = null;
+ private Date lastModified = null;
+ private String templateLanguage = null;
private boolean hidden = false;
private boolean navbar = false;
- private String decoratorName = null;
+ private String decoratorName = null;
+ private String outputContentType = null;
private WebsiteData weblog = null;
@@ -273,6 +273,20 @@
/** @ejb:persistent-field */
public void setDecoratorName(String decorator) {
this.decoratorName = decorator;
+ }
+
+ /**
+ * Content-type rendered by template or null for auto-detection by link extension.
+ * @ejb:persistent-field
+ * @hibernate.property column="outputtype" non-null="false" unique="false"
+ */
+ public String getOutputContentType() {
+ return outputContentType;
+ }
+
+ /** @ejb:persistent-field */
+ public void setOutputContentType(String outputContentType) {
+ this.outputContentType = outputContentType;
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/actions/WeblogTemplateFormAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/actions/WeblogTemplateFormAction.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/actions/WeblogTemplateFormAction.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/authoring/struts/actions/WeblogTemplateFormAction.java Tue Mar 20 06:07:41 2007
@@ -19,6 +19,7 @@
package org.apache.roller.ui.authoring.struts.actions;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
@@ -34,11 +35,13 @@
import org.apache.roller.RollerPermissionsException;
import org.apache.roller.business.RollerFactory;
import org.apache.roller.business.UserManager;
+import org.apache.roller.config.RollerConfig;
import org.apache.roller.pojos.UserData;
import org.apache.roller.pojos.WeblogTemplate;
import org.apache.roller.pojos.WebsiteData;
-import org.apache.roller.ui.authoring.struts.forms.WeblogTemplateForm;
+import org.apache.roller.ui.authoring.struts.formbeans.WeblogTemplateFormEx;
import org.apache.roller.ui.core.BasePageModel;
+import org.apache.roller.ui.core.RollerContext;
import org.apache.roller.ui.core.RollerRequest;
import org.apache.roller.ui.core.RollerSession;
import org.apache.roller.util.Utilities;
@@ -51,12 +54,13 @@
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
+import org.apache.struts.util.LabelValueBean;
/**
* Handles actions for weblog template management.
*
- * @struts.action name="weblogTemplateForm" path="/roller-ui/authoring/page"
+ * @struts.action name="weblogTemplateFormEx" path="/roller-ui/authoring/page"
* scope="session" parameter="method"
*
* @struts.action-forward name="removePage.page" path=".remove-page"
@@ -79,15 +83,14 @@
throws IOException, ServletException {
ActionForward forward = mapping.findForward("editPages.page");
- WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
try {
- request.setAttribute("model", new BasePageModel(
- "pagesForm.title", request, response, mapping));
RollerRequest rreq = RollerRequest.getRollerRequest(request);
RollerSession rses = RollerSession.getRollerSession(request);
WebsiteData website = rreq.getWebsite();
if ( rses.isUserAuthorizedToAdmin(website) ) {
+
UserManager mgr = RollerFactory.getRoller().getUserManager();
// first off, check if template already exists
@@ -96,33 +99,35 @@
ActionErrors errors = new ActionErrors();
errors.add(null, new ActionError("pagesForm.error.alreadyExists", form.getName()));
saveErrors(request, errors);
- addModelObjects(request, response, mapping, website, null);
+ request.setAttribute("model",
+ new WeblogTemplateFormModel("pagesForm.title", request, response, mapping, null));
return forward;
}
- WeblogTemplate data = new WeblogTemplate();
- form.copyTo(data, request.getLocale());
- data.setWebsite(website);
- data.setLastModified( new Date() );
- data.setDescription(data.getName());
- data.setContents(bundle.getString("pageForm.newTemplateContent"));
- validateLink( data );
+ WeblogTemplate page = new WeblogTemplate();
+ form.copyTo(page, request.getLocale());
+ page.setWebsite(website);
+ page.setLastModified( new Date() );
+ page.setDescription(page.getName());
+ page.setContents(bundle.getString("pageForm.newTemplateContent"));
+
+ validateLink(page);
// all templates start out as velocity templates
- data.setTemplateLanguage("velocity");
+ page.setTemplateLanguage("velocity");
// for now, all templates just use _decorator
- if(!"_decorator".equals(data.getName())) {
- data.setDecoratorName("_decorator");
+ if(!"_decorator".equals(page.getName())) {
+ page.setDecoratorName("_decorator");
}
// save the page
- mgr.savePage( data );
+ mgr.savePage( page );
// if this person happened to create a Weblog template from
// scratch then make sure and set the defaultPageId
- if(WeblogTemplate.DEFAULT_PAGE.equals(data.getName())) {
- website.setDefaultPageId(data.getId());
+ if(WeblogTemplate.DEFAULT_PAGE.equals(page.getName())) {
+ website.setDefaultPageId(page.getId());
mgr.saveWebsite(website);
}
@@ -132,12 +137,14 @@
ActionMessages uiMessages = new ActionMessages();
uiMessages.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("pagesForm.addNewPage.success",
- data.getName()));
+ page.getName()));
saveMessages(request, uiMessages);
actionForm.reset(mapping,request);
- addModelObjects(request, response, mapping, website, data);
+ request.setAttribute("model",
+ new WeblogTemplateFormModel("pagesForm.title", request, response, mapping, page));
+
} else {
forward = mapping.findForward("access-denied");
}
@@ -160,19 +167,25 @@
ActionForward forward = mapping.findForward("editPage.page");
try {
RollerRequest rreq = RollerRequest.getRollerRequest(request);
- WeblogTemplate pd = (WeblogTemplate)rreq.getPage();
+ WeblogTemplate page = (WeblogTemplate)rreq.getPage();
RollerSession rses = RollerSession.getRollerSession(request);
- if ( rses.isUserAuthorizedToAdmin(pd.getWebsite()) ) {
- BasePageModel pageModel = new BasePageModel(
- "pageForm.title", request, response, mapping);
- pageModel.setWebsite(pd.getWebsite());
- request.setAttribute("model", pageModel);
+ if ( rses.isUserAuthorizedToAdmin(page.getWebsite()) ) {
- WeblogTemplateForm pf = (WeblogTemplateForm)actionForm;
- pf.copyFrom(pd, request.getLocale());
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
+ form.copyFrom(page, request.getLocale());
- addModelObjects(request, response, mapping, pd.getWebsite(), pd);
+ // empty content-type indicates that page uses auto content-type detection
+ if (StringUtils.isEmpty(page.getOutputContentType())) {
+ form.setAutoContentType(Boolean.TRUE);
+ } else {
+ form.setAutoContentType(Boolean.FALSE);
+ form.setManualContentType(page.getOutputContentType());
+ }
+
+ request.setAttribute("model",
+ new WeblogTemplateFormModel("pageForm.title", request, response, mapping, page));
+
} else {
forward = mapping.findForward("access-denied");
}
@@ -193,12 +206,10 @@
ActionForward forward = mapping.findForward("editPages.page");
try {
- WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
RollerRequest rreq = RollerRequest.getRollerRequest(request);
RollerSession rses = RollerSession.getRollerSession(request);
- request.setAttribute("model", new BasePageModel(
- "pagesForm.title", request, response, mapping));
-
+
WebsiteData website = rreq.getWebsite();
if (website == null && form.getId()!=null) {
UserManager mgr = RollerFactory.getRoller().getUserManager();
@@ -206,11 +217,13 @@
website = template.getWebsite();
}
- if ( rses.isUserAuthorizedToAdmin(website)) {
- addModelObjects(request, response, mapping, website, null);
- } else {
+ request.setAttribute("model",
+ new WeblogTemplateFormModel("pagesForm.title", request, response, mapping, null));
+
+ if (!rses.isUserAuthorizedToAdmin(website)) {
forward = mapping.findForward("access-denied");
}
+
} catch (Exception e) {
log.error("ERROR in action",e);
throw new ServletException(e);
@@ -227,14 +240,16 @@
throws IOException, ServletException {
ActionForward forward = mapping.findForward("editPages");
- request.setAttribute("model", new BasePageModel(
- "pagesForm.title", request, response, mapping));
try {
UserManager mgr = RollerFactory.getRoller().getUserManager();
- WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
WeblogTemplate template = mgr.getPage(form.getId());
WebsiteData website = template.getWebsite();
+ WeblogTemplateFormModel pageModel =
+ new WeblogTemplateFormModel("pagesForm.title", request, response, mapping, null);
+ request.setAttribute("model", pageModel);
+
RollerSession rses = RollerSession.getRollerSession(request);
if ( rses.isUserAuthorizedToAdmin(website) ) {
if(!template.isRequired()) {
@@ -250,8 +265,6 @@
throw new RollerException("Cannot remove required page");
}
- addModelObjects(
- request, response, mapping, template.getWebsite(), template);
actionForm.reset(mapping, request);
} else {
forward = mapping.findForward("access-denied");
@@ -284,18 +297,13 @@
WeblogTemplate page = (WeblogTemplate) rreq.getPage();
WebsiteData website = page.getWebsite();
if ( rses.isUserAuthorizedToAdmin(website) ) {
- WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
form.copyFrom(page, request.getLocale());
- addModelObjects(request, response, mapping, page.getWebsite(), page);
-
- BasePageModel pageModel = new BasePageModel(
- "editPages.title.removeOK", request, response, mapping);
- pageModel.setWebsite(website);
+ WeblogTemplateFormModel pageModel =
+ new WeblogTemplateFormModel("editPages.title.removeOK", request, response, mapping, page);
request.setAttribute("model", pageModel);
- UserData ud = rses.getAuthenticatedUser();
- request.setAttribute("user",ud);
} else {
forward = mapping.findForward("access-denied");
}
@@ -316,38 +324,46 @@
ActionForward forward = mapping.findForward("editPage.page");
try {
- RollerRequest rreq = RollerRequest.getRollerRequest(request);
- WeblogTemplateForm form = (WeblogTemplateForm)actionForm;
- UserManager mgr = RollerFactory.getRoller().getUserManager();
- WeblogTemplate data = mgr.getPage(form.getId());
- WebsiteData website = data.getWebsite();
+ WeblogTemplateFormEx form = (WeblogTemplateFormEx)actionForm;
+
+ RollerRequest rreq = RollerRequest.getRollerRequest(request);
+ UserManager mgr = RollerFactory.getRoller().getUserManager();
+ WeblogTemplate page = mgr.getPage(form.getId());
+ WebsiteData website = page.getWebsite();
+
RollerSession rses = RollerSession.getRollerSession(request);
if (rses.isUserAuthorizedToAdmin(website)) {
- form.copyTo(data, request.getLocale());
- data.setLastModified( new Date() );
- validateLink( data );
+
+ form.copyTo(page, request.getLocale());
+ page.setLastModified( new Date() );
- mgr.savePage( data );
+ if (form.getAutoContentType() == null || !form.getAutoContentType().booleanValue()) {
+ page.setOutputContentType(form.getManualContentType());
+ } else {
+ // empty content-type indicates that page uses auto content-type detection
+ page.setOutputContentType(null);
+ }
+
+ validateLink(page);
+
+ mgr.savePage( page );
RollerFactory.getRoller().flush();
// set the (possibly) new link back into the Form bean
- ((WeblogTemplateForm)actionForm).setLink( data.getLink() );
+ ((WeblogTemplateFormEx)actionForm).setLink( page.getLink() );
ActionMessages uiMessages = new ActionMessages();
uiMessages.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("pageForm.save.success",
- data.getName()));
+ page.getName()));
saveMessages(request, uiMessages);
- CacheManager.invalidate(data);
+ CacheManager.invalidate(page);
- addModelObjects(request, response, mapping, data.getWebsite(), data);
-
- BasePageModel pageModel = new BasePageModel(
- "pageForm.title", request, response, mapping);
- pageModel.setWebsite(website);
+ WeblogTemplateFormModel pageModel =
+ new WeblogTemplateFormModel("pageForm.title", request, response, mapping, page);
request.setAttribute("model", pageModel);
} else {
@@ -377,21 +393,21 @@
* characters that are web-safe), this is a much easier
* test-and-correct. Otherwise we would need a RegEx package.
*/
- private void validateLink( WeblogTemplate data ) {
- // if data.getLink() is null or empty
- // use the title ( data.getName() )
- if ( StringUtils.isEmpty( data.getLink() ) ) {
- data.setLink( data.getName() );
+ private void validateLink( WeblogTemplate page ) {
+ // if page.getLink() is null or empty
+ // use the title ( page.getName() )
+ if ( StringUtils.isEmpty( page.getLink() ) ) {
+ page.setLink( page.getName() );
}
// if link contains any nonAlphanumeric, strip them
// first we must remove any html, as this is
// non-instructional markup. Then do a straight
// removeNonAlphanumeric.
- if ( !StringUtils.isAlphanumeric( data.getLink() ) ) {
- String link = Utilities.removeHTML( data.getLink() );
+ if ( !StringUtils.isAlphanumeric( page.getLink() ) ) {
+ String link = Utilities.removeHTML( page.getLink() );
link = Utilities.removeNonAlphanumeric( link );
- data.setLink( link );
+ page.setLink( link );
}
}
@@ -402,33 +418,88 @@
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
- request.setAttribute("model", new BasePageModel(
- "pagesForm.title", request, response, mapping));
- return (mapping.findForward("editPages"));
+ try {
+ request.setAttribute("model", new WeblogTemplateFormModel(
+ "pagesForm.title", request, response, mapping, null));
+ return (mapping.findForward("editPages"));
+ } catch (Exception e) {
+ log.error("ERROR in action",e);
+ throw new ServletException(e);
+ }
}
-
- private void addModelObjects(
- HttpServletRequest request,
- HttpServletResponse response,
- ActionMapping mapping,
- WebsiteData website,
- WeblogTemplate page)
- throws RollerException {
- UserManager mgr = RollerFactory.getRoller().getUserManager();
- RollerSession rses = RollerSession.getRollerSession(request);
- RollerRequest rreq = RollerRequest.getRollerRequest(request);
-
- UserData user = rses.getAuthenticatedUser();
- request.setAttribute("user", user);
-
- WebsiteData wd = rreq.getWebsite();
- request.setAttribute("website", website);
-
- List pages = mgr.getPages(website);
- request.setAttribute("pages", pages);
-
- if (page != null) request.setAttribute("page", page);
+ public class WeblogTemplateFormModel extends BasePageModel {
+ private UserData user;
+ private WeblogTemplate page;
+ private List pages;
+ private List languages = new ArrayList();
+
+ public WeblogTemplateFormModel(
+ String titleKey,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ActionMapping mapping,
+ WeblogTemplate page) throws RollerException {
+
+ super(titleKey, request, response, mapping);
+
+ UserManager mgr = RollerFactory.getRoller().getUserManager();
+ RollerSession rses = RollerSession.getRollerSession(request);
+ RollerRequest rreq = RollerRequest.getRollerRequest(request);
+
+ if (page != null) {
+ this.setWebsite(page.getWebsite());
+ } else {
+ this.setWebsite(rreq.getWebsite());
+ }
+
+ this.setUser(rses.getAuthenticatedUser());
+ this.setPages(mgr.getPages(getWebsite()));
+ this.setPage(page);
+
+ if (page != null) {
+ String langs = RollerConfig.getProperty("rendering.templateLanguages","velocity");
+ String[] langsArray = Utilities.stringToStringArray(langs, ",");
+ for (int i = 0; i < langsArray.length; i++) {
+ getLanguages().add(new LabelValueBean(langsArray[i], langsArray[i]));
+ }
+ }
+ }
+
+ public UserData getUser() {
+ return user;
+ }
+
+ public void setUser(UserData user) {
+ this.user = user;
+ }
+
+ public WeblogTemplate getPage() {
+ return page;
+ }
+
+ public void setPage(WeblogTemplate page) {
+ this.page = page;
+ }
+
+ public List getPages() {
+ return pages;
+ }
+
+ public void setPages(List pages) {
+ this.pages = pages;
+ }
+
+ public List getLanguages() {
+ return languages;
+ }
+
+ public void setLanguages(List languages) {
+ this.languages = languages;
+ }
}
-
+
}
+
+
+
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/Renderer.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/Renderer.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/Renderer.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/Renderer.java Tue Mar 20 06:07:41 2007
@@ -23,7 +23,7 @@
/**
- * Interface representing a content renderer in Roller.
+ * Renders content to writer based on values in a map.
*/
public interface Renderer {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererFactory.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererFactory.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererFactory.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererFactory.java Tue Mar 20 06:07:41 2007
@@ -22,7 +22,7 @@
/**
- * A factory for Renderer objects.
+ * Returns Renderer best suited to render a Template or null if available.
*
* Implementations of this interface are used to handle the actual lookup of
* what Renderer object should be used to render a given resource.
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererManager.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererManager.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererManager.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RendererManager.java Tue Mar 20 06:07:41 2007
@@ -28,7 +28,7 @@
/**
- * A governing class for Rollers rendering system.
+ * Returns Renderer for Template via configured RendererFactories.
*
* The purpose of the RendererManager is to provide a level of abstraction
* between classes that are rendering content and the implementations of the
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RequestMapper.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RequestMapper.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RequestMapper.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/RequestMapper.java Tue Mar 20 06:07:41 2007
@@ -8,7 +8,7 @@
/**
- * Interface representing an object that maps requests.
+ * Interface for object that can handle requests, return true if handled.
*/
public interface RequestMapper {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/WeblogRequestMapper.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/WeblogRequestMapper.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/WeblogRequestMapper.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/WeblogRequestMapper.java Tue Mar 20 06:07:41 2007
@@ -36,7 +36,7 @@
/**
- * Roller's weblog request mapper.
+ * Handles rendering requests for Roller pages/feeds by routing to the appropriate Servlet.
*
* This request mapper is used to map all weblog specific urls of the form
* /<weblog handle>/* to the appropriate servlet for handling the actual
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/ConfigModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/ConfigModel.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/ConfigModel.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/ConfigModel.java Tue Mar 20 06:07:41 2007
@@ -70,6 +70,10 @@
return getProperty("users.registration.url");
}
+ public boolean getFeedHistoryEnabled() {
+ return getBooleanProperty("site.newsfeeds.history.enabled");
+ }
+
public int getFeedSize() {
return getIntProperty("site.newsfeeds.defaultEntries");
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/FeedModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/FeedModel.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/FeedModel.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/FeedModel.java Tue Mar 20 06:07:41 2007
@@ -36,8 +36,12 @@
import org.apache.roller.pojos.wrapper.CommentDataWrapper;
import org.apache.roller.pojos.wrapper.WeblogEntryDataWrapper;
import org.apache.roller.pojos.wrapper.WebsiteDataWrapper;
+import org.apache.roller.ui.rendering.pagers.CommentsPager;
+import org.apache.roller.ui.rendering.pagers.Pager;
+import org.apache.roller.ui.rendering.pagers.WeblogEntriesListPager;
import org.apache.roller.ui.rendering.util.WeblogFeedRequest;
import org.apache.roller.ui.rendering.util.WeblogRequest;
+import org.apache.roller.util.URLUtilities;
/**
@@ -115,38 +119,24 @@
* Gets most recent entries limited by: weblog and category specified in
* request plus the weblog.entryDisplayCount.
*/
- public List getWeblogEntries() {
+ public Pager getWeblogEntriesPager() {
// all feeds get the site-wide default # of entries
int entryCount =
RollerRuntimeConfig.getIntProperty("site.newsfeeds.defaultEntries");
- List results = new ArrayList();
- try {
- Roller roller = RollerFactory.getRoller();
- WeblogManager wmgr = roller.getWeblogManager();
- List entries = wmgr.getWeblogEntries(
- weblog,
- null,
- null,
- null,
- feedRequest.getWeblogCategoryName(),
- feedRequest.getTags(),
- WeblogEntryData.PUBLISHED,
- null,
- "pubTime",
- null,
- feedRequest.getLocale(),
- 0,
- entryCount);
- for (Iterator it = entries.iterator(); it.hasNext();) {
- WeblogEntryData entry = (WeblogEntryData) it.next();
- results.add(WeblogEntryDataWrapper.wrap(entry));
- }
- } catch (Exception e) {
- log.error("ERROR: fetching weblog list", e);
- }
- return results;
+ String pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ feedRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), feedRequest.getWeblogCategoryName(),
+ null, feedRequest.getTags(), feedRequest.isExcerpts(), true);
+
+ return new WeblogEntriesListPager(
+ pagerUrl, weblog, null, feedRequest.getWeblogCategoryName(),
+ feedRequest.getTags(),
+ feedRequest.getLocale(),
+ -1,
+ feedRequest.getPage(),
+ entryCount);
}
@@ -154,36 +144,23 @@
* Gets most recent comments limited by: weblog specified in request and
* the weblog.entryDisplayCount.
*/
- public List getComments() {
+ public Pager getCommentsPager() {
// all feeds get the site-wide default # of entries
int entryCount =
RollerRuntimeConfig.getIntProperty("site.newsfeeds.defaultEntries");
- List recentComments = new ArrayList();
- try {
- WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager();
- List recent = wmgr.getComments(
- RollerRuntimeConfig.isSiteWideWeblog(weblog.getHandle()) ? null : weblog,
- null, // weblog entry
- null, // search String
- null, // startDate
- null, // endDate
- CommentData.APPROVED, // approved comments only
- true, // we want reverse chrono order
- 0, // offset
- entryCount); // length
-
- // wrap pojos
- recentComments = new ArrayList(recent.size());
- Iterator it = recent.iterator();
- while(it.hasNext()) {
- recentComments.add(CommentDataWrapper.wrap((CommentData) it.next()));
- }
- } catch (RollerException e) {
- log.error("ERROR: getting comments", e);
- }
- return recentComments;
+ String pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ feedRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), null, null, null,
+ feedRequest.isExcerpts(), true);
+
+ return new CommentsPager(
+ pagerUrl,
+ feedRequest.getLocale(),
+ -1,
+ feedRequest.getPage(),
+ entryCount);
}
/**
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsModel.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsModel.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SearchResultsModel.java Tue Mar 20 06:07:41 2007
@@ -38,8 +38,10 @@
import org.apache.roller.business.Roller;
import org.apache.roller.business.RollerFactory;
import org.apache.roller.business.WeblogManager;
+import org.apache.roller.pojos.WeblogCategoryData;
import org.apache.roller.pojos.WeblogEntryData;
import org.apache.roller.pojos.WeblogEntryWrapperComparator;
+import org.apache.roller.pojos.wrapper.WeblogCategoryDataWrapper;
import org.apache.roller.pojos.wrapper.WeblogEntryDataWrapper;
import org.apache.roller.ui.rendering.pagers.SearchResultsPager;
import org.apache.roller.ui.rendering.pagers.WeblogEntriesPager;
@@ -255,6 +257,17 @@
public String getErrorMessage() {
return errorMessage;
+ }
+
+ public String getWeblogCategoryName() {
+ return searchRequest.getWeblogCategoryName();
+ }
+
+ public WeblogCategoryDataWrapper getWeblogCategory() {
+ if(searchRequest.getWeblogCategory() != null) {
+ return WeblogCategoryDataWrapper.wrap(searchRequest.getWeblogCategory());
+ }
+ return null;
}
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SiteModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SiteModel.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SiteModel.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/SiteModel.java Tue Mar 20 06:07:41 2007
@@ -63,6 +63,7 @@
private WebsiteData weblog = null;
private WeblogRequest weblogRequest = null;
+ private WeblogFeedRequest feedRequest = null;
private List tags = new ArrayList();
private String pageLink = null;
private int pageNum = 0;
@@ -86,7 +87,9 @@
pageNum = ((WeblogPageRequest)weblogRequest).getPageNum();
tags = ((WeblogPageRequest)weblogRequest).getTags();
} else if (weblogRequest instanceof WeblogFeedRequest) {
- tags = ((WeblogFeedRequest)weblogRequest).getTags();
+ this.feedRequest = (WeblogFeedRequest) weblogRequest;
+ tags = feedRequest.getTags();
+ pageNum = feedRequest.getPage();
}
// extract weblog object
@@ -102,9 +105,18 @@
*/
public Pager getWeblogEntriesPager(int sinceDays, int length) {
- String pagerUrl = URLUtilities.getWeblogPageURL(weblog,
+ String pagerUrl = null;
+
+ if (feedRequest != null) {
+ pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ weblogRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), feedRequest.getWeblogCategoryName(), null,
+ feedRequest.getTags(), feedRequest.isExcerpts(), true);
+ } else {
+ pagerUrl = URLUtilities.getWeblogPageURL(weblog,
weblogRequest.getLocale(), pageLink,
null, null, null, tags, 0, false);
+ }
return new WeblogEntriesListPager(
pagerUrl, null, null, null,
@@ -150,9 +162,17 @@
*/
public Pager getWeblogEntriesPager(WebsiteData queryWeblog, UserData user, String cat, int sinceDays, int length) {
- String pagerUrl = URLUtilities.getWeblogPageURL(weblog,
+ String pagerUrl = null;
+ if (feedRequest != null) {
+ pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ weblogRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), feedRequest.getWeblogCategoryName(), null,
+ feedRequest.getTags(), feedRequest.isExcerpts(), true);
+ } else {
+ pagerUrl = URLUtilities.getWeblogPageURL(weblog,
weblogRequest.getLocale(), pageLink,
null, null, null, tags, 0, false);
+ }
return new WeblogEntriesListPager(
pagerUrl, queryWeblog, user, cat,
@@ -172,9 +192,17 @@
*/
public Pager getCommentsPager(int sinceDays, int length) {
- String pagerUrl = URLUtilities.getWeblogPageURL(weblog,
+ String pagerUrl = null;
+ if (feedRequest != null) {
+ pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ weblogRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), null, null, null,
+ feedRequest.isExcerpts(), true);
+ } else {
+ pagerUrl = URLUtilities.getWeblogPageURL(weblog,
weblogRequest.getLocale(), pageLink,
null, null, null, null, 0, false);
+ }
return new CommentsPager(
pagerUrl,
@@ -188,9 +216,16 @@
/* Get pager of users whose names begin with specified letter */
public Pager getUsersByLetterPager(String letter, int sinceDays, int length) {
- String pagerUrl = URLUtilities.getWeblogPageURL(weblog,
+ String pagerUrl = null;
+ if (feedRequest != null) {
+ pagerUrl = URLUtilities.getWeblogFeedURL(weblog,
+ weblogRequest.getLocale(), feedRequest.getType(),
+ feedRequest.getFormat(), null, null, null, feedRequest.isExcerpts(), true);
+ } else {
+ pagerUrl = URLUtilities.getWeblogPageURL(weblog,
weblogRequest.getLocale(), pageLink,
null, null, null, null, 0, false);
+ }
if(letter != null && StringUtils.isEmpty(letter)) {
letter = null;
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/URLModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/URLModel.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/URLModel.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/model/URLModel.java Tue Mar 20 06:07:41 2007
@@ -32,6 +32,7 @@
import org.apache.roller.ui.core.RequestConstants;
import org.apache.roller.ui.rendering.util.WeblogRequest;
import org.apache.roller.util.URLUtilities;
+import org.apache.roller.util.Utilities;
import org.apache.struts.util.RequestUtils;
@@ -238,6 +239,9 @@
return URLUtilities.getWeblogSearchURL(weblog, locale, query, catPath, pageNum, false);
}
+ public String absoluteSearch(String query, String catPath, int pageNum) {
+ return URLUtilities.getWeblogSearchURL(weblog, locale, query, catPath, pageNum, true);
+ }
public String page(String pageLink) {
return URLUtilities.getWeblogPageURL(weblog, locale, pageLink, null, null, null, null, -1, true);
@@ -326,46 +330,50 @@
public class EntryFeedURLS {
public String getRss() {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", null, null, false, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", null, null, null, false, true);
}
public String rss(String catPath, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", catPath, null, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", catPath, null, null, excerpts, true);
}
public String rssByTags(List tags, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", null, tags, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "rss", null, null, tags, excerpts, true);
}
public String getAtom() {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", null, null, false, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", null, null, null, false, true);
}
public String atom(String catPath, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", catPath, null, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", catPath, null, null, excerpts, true);
}
+ public String search(String term, String catPath) {
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "search", "atom", catPath, term, null, false, true);
+ }
+
public String atomByTags(List tags, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", null, tags, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "entries", "atom", null, null, tags, excerpts, true);
}
}
public class CommentFeedURLS {
public String getRss() {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "rss", null, null, false, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "rss", null, null, null, false, true);
}
public String rss(String catPath, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "rss", catPath, null, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "rss", catPath, null, null, excerpts, true);
}
public String getAtom() {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "atom", null, null, false, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "atom", null, null, null, false, true);
}
public String atom(String catPath, boolean excerpts) {
- return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "atom", catPath, null, excerpts, true);
+ return URLUtilities.getWeblogFeedURL(weblog, locale, "comments", "atom", catPath, null, null, excerpts, true);
}
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/package.html
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/package.html?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/package.html (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/package.html Tue Mar 20 06:07:41 2007
@@ -21,6 +21,6 @@
<title></title>
</head>
<body>
-Core Roller UI classes for Servlet context, session and request.
+Core Roller rendering system: request mapping and rendering.
</body>
</html>
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/FeedServlet.java Tue Mar 20 06:07:41 2007
@@ -41,6 +41,7 @@
import org.apache.roller.ui.rendering.Renderer;
import org.apache.roller.ui.rendering.RendererManager;
import org.apache.roller.ui.rendering.model.ModelLoader;
+import org.apache.roller.ui.rendering.model.SearchResultsFeedModel;
import org.apache.roller.ui.rendering.util.cache.SiteWideCache;
import org.apache.roller.ui.rendering.util.cache.WeblogFeedCache;
import org.apache.roller.ui.rendering.util.ModDateHeaderUtil;
@@ -234,6 +235,11 @@
// Load weblog custom models
ModelLoader.loadCustomModels(weblog, model, initData);
+
+ if("search".equals(feedRequest.getType())) {
+ pageId = "templates/feeds/weblog-search-atom.vm";
+ ModelLoader.loadModels(SearchResultsFeedModel.class.getName(), model, initData, true);
+ }
} catch (RollerException ex) {
log.error("ERROR loading model for page", ex);
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/PageServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/PageServlet.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/PageServlet.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/PageServlet.java Tue Mar 20 06:07:41 2007
@@ -30,6 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.RollerException;
@@ -329,11 +330,17 @@
// looks like we need to render content
// set the content type
- String mimeType = RollerContext.getServletContext().getMimeType(page.getLink());
String contentType = "text/html; charset=utf-8";
- if(mimeType != null) {
- // we found a match ... set the content type
- contentType = mimeType+"; charset=utf-8";
+ if (StringUtils.isNotEmpty(page.getOutputContentType())) {
+ contentType = page.getOutputContentType() + "; charset=utf-8";
+ } else {
+ String mimeType = RollerContext.getServletContext().getMimeType(page.getLink());
+ if (mimeType != null) {
+ // we found a match ... set the content type
+ contentType = mimeType + "; charset=utf-8";
+ } else {
+ contentType = "text/html; charset=utf-8";
+ }
}
HashMap model = new HashMap();
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/package.html
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/package.html?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/package.html (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/servlets/package.html Tue Mar 20 06:07:41 2007
@@ -22,5 +22,17 @@
</head>
<body>
Roller rendering system servlets.
+
+ <h2>Roller Servlets</h2>
+
+ Most rendering servlets work like this:
+ <ul>
+ <li>Create a request object to parse the request</li>
+ <li>Determine last modified time, return not-modified (HTTP 304) if possible</li>
+ <li>Return content from cache if possible</li>
+ <li>Load model objects into a map suitable for renderer</li>
+ <li>Call most appropriate renderer to render content</li>
+ </ul>
+
</body>
</html>
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogCommentRequest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogCommentRequest.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogCommentRequest.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogCommentRequest.java Tue Mar 20 06:07:41 2007
@@ -27,6 +27,7 @@
import org.apache.roller.business.RollerFactory;
import org.apache.roller.business.WeblogManager;
import org.apache.roller.pojos.WeblogEntryData;
+import org.apache.roller.util.Utilities;
/**
@@ -121,15 +122,15 @@
* notify - if commenter wants to receive notifications
*/
if(request.getParameter("name") != null) {
- this.name = request.getParameter("name");
+ this.name = Utilities.removeHTML(request.getParameter("name"));
}
if(request.getParameter("email") != null) {
- this.email = request.getParameter("email");
+ this.email = Utilities.removeHTML(request.getParameter("email"));
}
if(request.getParameter("url") != null) {
- this.url = request.getParameter("url");
+ this.url = Utilities.removeHTML(request.getParameter("url"));
}
if(request.getParameter("content") != null) {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogFeedRequest.java Tue Mar 20 06:07:41 2007
@@ -55,7 +55,9 @@
private String format = null;
private String weblogCategoryName = null;
private List tags = null;
+ private int page = 0;
private boolean excerpts = false;
+ private String term = null;
// heavyweight attributes
private WeblogCategoryData weblogCategory = null;
@@ -143,6 +145,19 @@
this.excerpts = Boolean.valueOf(request.getParameter("excerpts")).booleanValue();
}
+ if(request.getParameter("page") != null) {
+ try {
+ this.page = Integer.parseInt(request.getParameter("page"));
+ } catch(NumberFormatException e) {
+ //
+ }
+ }
+
+ if(request.getParameter("q") != null &&
+ request.getParameter("q").trim().length() > 0) {
+ this.term = URLUtilities.decode(request.getParameter("q"));
+ }
+
if((this.tags != null && this.tags.size() > 0) && this.weblogCategoryName != null) {
throw new InvalidRequestException("please specify either category or tags but not both, " + request.getRequestURL());
}
@@ -213,5 +228,23 @@
public void setWeblogCategory(WeblogCategoryData weblogCategory) {
this.weblogCategory = weblogCategory;
}
-
+
+
+ public int getPage() {
+ return page;
+ }
+
+
+ public void setPage(int page) {
+ this.page = page;
+ }
+
+ public String getTerm() {
+ return term;
+ }
+
+
+ public void setTerm(String query) {
+ this.term = query;
+ }
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogRequest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogRequest.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogRequest.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogRequest.java Tue Mar 20 06:07:41 2007
@@ -131,7 +131,7 @@
* Convenience method which determines if the given string is a valid
* locale string.
*/
- private boolean isLocale(String potentialLocale) {
+ protected boolean isLocale(String potentialLocale) {
boolean isLocale = false;
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogResourceRequest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogResourceRequest.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogResourceRequest.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/util/WeblogResourceRequest.java Tue Mar 20 06:07:41 2007
@@ -97,5 +97,10 @@
public void setResourcePath(String resourcePath) {
this.resourcePath = resourcePath;
}
-
+
+ protected boolean isLocale(String potentialLocale) {
+ // We don't support locales in the resource Servlet so we've got to
+ // keep parent from treating upload sub-directory name as a locale.
+ return false;
+ }
}
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRenderer.java Tue Mar 20 06:07:41 2007
@@ -35,7 +35,7 @@
/**
- * Renderer for Velocity templates.
+ * Renderer that renders using the Velocity template engine.
*/
public class VelocityRenderer implements Renderer {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/ui/rendering/velocity/VelocityRendererFactory.java Tue Mar 20 06:07:41 2007
@@ -26,7 +26,7 @@
/**
- * Velocity RendererFactory for Roller.
+ * RendererFactory for Velocity, creates VelocityRenderers.
*/
public class VelocityRendererFactory implements RendererFactory {
Modified: incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/util/URLUtilities.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/util/URLUtilities.java?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/util/URLUtilities.java (original)
+++ incubator/roller/branches/roller_4.0_newbackend/src/org/apache/roller/util/URLUtilities.java Tue Mar 20 06:07:41 2007
@@ -250,6 +250,7 @@
String type,
String format,
String category,
+ String term,
List tags,
boolean excerpts,
boolean absolute) {
@@ -269,6 +270,9 @@
}
if(tags != null && tags.size() > 0) {
params.put("tags", getEncodedTagsString(tags));
+ }
+ if(term != null && term.trim().length() > 0) {
+ params.put("q", encode(term.trim()));
}
if(excerpts) {
params.put("excerpts", "true");
Modified: incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/ApplicationResources.properties Tue Mar 20 06:07:41 2007
@@ -883,9 +883,10 @@
pagesForm.subtitle=Manage templates that define weblog <span>{0}</span>
pagesForm.tip=You can edit the templates that define the layout, colors and \
fonts of your weblog. You can also create new templates to define entirely \
-new pages. This is for advanced users only, if you're not comfortable with \
-HTML, you might want to leave your templates alone.
+new pages. This is for advanced users only, if you're not comfortable \
+with HTML, you might want to leave your templates alone.
+pageForm.advancedSettings=Advanced Settings
pagesForm.name=Name
pagesForm.link=Link
pagesForm.description=Description
@@ -902,6 +903,11 @@
theme, so some template edits may not effect how your blog looks.
editPages.title.removeOK=Confirm remove of template
+pagesForm.launch=launch
+pagesForm.outputContentType=Type
+pagesForm.column.navbar=Navbar
+pagesForm.column.hidden=Hidden page
+
pageCache.flushed=Page cache has been successfully flushed.
pagesForm.error.alreadyExists=The template {0} already exists.
@@ -909,11 +915,22 @@
# -------------------------------------------------------------------- Page edit
pageForm.title=Edit Template
-pageForm.editPage=Edit Template
+pageForm.subtitle=Edit template <span>{0}</span> in weblog <span>{1}</span>
+pageForm.tip=You can edit this template to change what it generates.\
+Refer the the Roller Template Guide for information about the objects \
+and code you are allowed to use in a template. This is for advanced \
+users only, if you're not comfortable with HTML, you might want to leave \
+your templates alone.
+pageForm.tip.required=You can edit this template to change what it generates.\
+Refer the the Roller Template Guide for information about the objects \
+and code you are allowed to use in a template. This is for advanced \
+users only, if you're not comfortable with HTML, you might want to leave \
+your templates alone. NOTE: this is a required weblog template, you cannot \
+change the name, link or description.
pageForm.name=Name
pageForm.link=Link
pageForm.hidden=Hidden
-pageForm.hidden.tip=Hidden templates cannot be accessed via a weblog URL
+pageForm.hidden.tip=Hidden pages cannot be accessed via a weblog URL
pageForm.navbar=Include in page menu
pageForm.navbar.tip=Include in menu produced by showPageMenu() macro
pageForm.description=Description
@@ -921,8 +938,18 @@
pageForm.save=Save
pageForm.newTemplateContent=<html><body></body></html>
pageForm.save.success=Template updated successfully.
-pagesForm.column.navbar=Navbar
-pagesForm.column.hidden=Hidden
+pageForm.launch=launch
+pageForm.useAutoContentType=Automatically set content type
+pageForm.useManualContentType=Use manually specified content-type
+
+pageForm.templateLanguage=Template Language
+
+pageForm.outputContentType=Content-Type
+pageForm.outputContentTypeHTML=HTML (text/html)
+pageForm.outputContentTypeXHTML=XHTML (application/xhtml+xml)
+pageForm.outputContentTypeJavaScript=JavaScript (text/script)
+pageForm.outputContentTypeStyle=CSS (test/style)
+pageForm.outputContentTypeCustom=Custom...
pageRemove.subtitle=Confirm removal of page
pageRemove.youSure=Are you sure you want to remove this page?
Modified: incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/roller.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/roller.properties?view=diff&rev=520378&r1=520377&r2=520378
==============================================================================
--- incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/roller.properties (original)
+++ incubator/roller/branches/roller_4.0_newbackend/web/WEB-INF/classes/roller.properties Tue Mar 20 06:07:41 2007
@@ -99,6 +99,9 @@
rendering.rollerRendererFactories=\
org.apache.roller.ui.rendering.velocity.VelocityRendererFactory
+# List of available template languages
+rendering.templateLanguages=velocity,groovlet,gsp,javascript
+
# The set of user defined renderer factories. These are prepended to the list above.
rendering.userRendererFactories=
@@ -550,6 +553,8 @@
#----------------------------------
# misc settings
+
+site.newsfeeds.history.enabled=false
# Some folks consider remember-me type functionality to be a security
rememberme.enabled=true