Author: snoopdave
Date: Wed May  2 07:57:05 2007
New Revision: 534500

URL: http://svn.apache.org/viewvc?view=rev&rev=534500
Log:
Example page model

Added:
    roller/trunk/docs/examples/plugins/
    roller/trunk/docs/examples/plugins/pluginmodel/   (with props)
    roller/trunk/docs/examples/plugins/pluginmodel/README.html
    roller/trunk/docs/examples/plugins/pluginmodel/build.xml
    roller/trunk/docs/examples/plugins/pluginmodel/src/
    roller/trunk/docs/examples/plugins/pluginmodel/src/org/
    roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/
    roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/
    
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/
    
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/
    
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/
    
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/AuthenticatedUserModel.java
Modified:
    roller/trunk/docs/examples/rollertask/   (props changed)

Propchange: roller/trunk/docs/examples/plugins/pluginmodel/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed May  2 07:57:05 2007
@@ -0,0 +1,2 @@
+build
+dist

Added: roller/trunk/docs/examples/plugins/pluginmodel/README.html
URL: 
http://svn.apache.org/viewvc/roller/trunk/docs/examples/plugins/pluginmodel/README.html?view=auto&rev=534500
==============================================================================
--- roller/trunk/docs/examples/plugins/pluginmodel/README.html (added)
+++ roller/trunk/docs/examples/plugins/pluginmodel/README.html Wed May  2 
07:57:05 2007
@@ -0,0 +1,52 @@
+
+README.html pluginmodel
+
+This directory contains a simple example of a Plugin Model class which allows
+Roller templates to access the user-object representing the currently 
+authenticated user using "$authenticated.user".
+
+To build the example, simply run the provided Ant buil.xml file.
+
+To use the example in Roller do these steps:
+
+1) Copy the jar dist/authusermodel.jar to the Roller WEB-INF/lib directory
+
+2) Override the Roller model properties to add the name of the new model class
+   to the list of models used by Roller's page, search and preview Servlets.
+   
+   That means you'll have to add the following to your roller-custom.properties
+   file:
+   
+# Set of models to be made available for weblog page rendering
+rendering.pageModels=\
+org.apache.roller.ui.rendering.model.PageModel,\
+org.apache.roller.ui.rendering.model.ConfigModel,\
+org.apache.roller.ui.rendering.model.UtilitiesModel,\
+org.apache.roller.ui.rendering.model.URLModel,\
+org.apache.roller.ui.rendering.model.MessageModel,\
+org.apache.roller.ui.rendering.model.CalendarModel,\
+org.apache.roller.ui.rendering.model.MenuModel,\
+org.apache.roller.examples.plugins.pagemodel.AuthenticatedUserModel
+
+# Set of models to be made available for weblog search rendering
+rendering.searchModels=\
+org.apache.roller.ui.rendering.model.SearchResultsModel,\
+org.apache.roller.ui.rendering.model.ConfigModel,\
+org.apache.roller.ui.rendering.model.UtilitiesModel,\
+org.apache.roller.ui.rendering.model.URLModel,\
+org.apache.roller.ui.rendering.model.MessageModel,\
+org.apache.roller.ui.rendering.model.CalendarModel,\
+org.apache.roller.ui.rendering.model.MenuModel,\
+org.apache.roller.examples.plugins.pagemodel.AuthenticatedUserModel
+
+# Set of models to be made available for weblog page *preview* rendering
+# NOTE: this *does* have some differences between the pageModels
+rendering.previewModels=\
+org.apache.roller.ui.rendering.model.PreviewPageModel,\
+org.apache.roller.ui.rendering.model.ConfigModel,\
+org.apache.roller.ui.rendering.model.UtilitiesModel,\
+org.apache.roller.ui.rendering.model.PreviewURLModel,\
+org.apache.roller.ui.rendering.model.MessageModel,\
+org.apache.roller.ui.rendering.model.CalendarModel,\
+org.apache.roller.ui.rendering.model.MenuModel,\
+org.apache.roller.examples.plugins.pagemodel.AuthenticatedUserModel

Added: roller/trunk/docs/examples/plugins/pluginmodel/build.xml
URL: 
http://svn.apache.org/viewvc/roller/trunk/docs/examples/plugins/pluginmodel/build.xml?view=auto&rev=534500
==============================================================================
--- roller/trunk/docs/examples/plugins/pluginmodel/build.xml (added)
+++ roller/trunk/docs/examples/plugins/pluginmodel/build.xml Wed May  2 
07:57:05 2007
@@ -0,0 +1,20 @@
+
+<project name="pluginmodel" default="dist">
+    
+    <property name="rollerdir" value="../../../.." />
+    
+    <target name="dist">
+        <mkdir dir="build" />
+        <mkdir dir="dist" />
+        <javac srcdir="src" destdir="build">
+            <classpath>
+                <pathelement path="${rollerdir}/build/lib/roller-business.jar" 
/>
+                <pathelement path="${rollerdir}/build/lib/roller-web.jar" />
+                <pathelement 
path="${rollerdir}/tools/lib/commons-logging-1.0.4.jar" />
+                <pathelement 
path="${rollerdir}/tools/buildtime/tomcat-5.0.28/servlet-api.jar" />
+            </classpath>
+        </javac>
+        <jar basedir="build" destfile="dist/authusermodel.jar" />
+    </target>
+    
+</project>
\ No newline at end of file

Added: 
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/AuthenticatedUserModel.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/AuthenticatedUserModel.java?view=auto&rev=534500
==============================================================================
--- 
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/AuthenticatedUserModel.java
 (added)
+++ 
roller/trunk/docs/examples/plugins/pluginmodel/src/org/apache/roller/examples/plugins/pagemodel/AuthenticatedUserModel.java
 Wed May  2 07:57:05 2007
@@ -0,0 +1,37 @@
+
+package org.apache.roller.examples.plugins.pagemodel;
+
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.roller.RollerException;
+import org.apache.roller.pojos.wrapper.UserDataWrapper;
+import org.apache.roller.ui.core.RollerSession;
+import org.apache.roller.ui.rendering.model.Model;
+
+
+public class AuthenticatedUserModel implements Model {
+    private static Log log = LogFactory.getLog(AuthenticatedUserModel.class); 
+    private HttpServletRequest request = null;
+    
+    public String getModelName() {
+        return "authenticated";
+    }
+
+    public void init(Map params) throws RollerException {
+        this.request = (HttpServletRequest)params.get("request");
+    }
+    
+    public UserDataWrapper getUser() {
+        try {
+            RollerSession rses = RollerSession.getRollerSession(request);
+            if (rses != null && rses.getAuthenticatedUser() != null) {
+                return UserDataWrapper.wrap(rses.getAuthenticatedUser());
+            }
+        } catch (Exception e) {
+            log.warn("ERROR: checking user authorization", e);
+        }
+        return null;
+    }
+}

Propchange: roller/trunk/docs/examples/rollertask/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed May  2 07:57:05 2007
@@ -0,0 +1 @@
+logs


Reply via email to