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 2017/11/06 22:17:07 UTC

[06/35] roller git commit: [ROL-2113] move to Struts 2.5.x and remove DMI usage.

[ROL-2113] move to Struts 2.5.x and remove DMI usage.


Project: http://git-wip-us.apache.org/repos/asf/roller/repo
Commit: http://git-wip-us.apache.org/repos/asf/roller/commit/b3a8128c
Tree: http://git-wip-us.apache.org/repos/asf/roller/tree/b3a8128c
Diff: http://git-wip-us.apache.org/repos/asf/roller/diff/b3a8128c

Branch: refs/heads/master
Commit: b3a8128cbfebcbeb068751559d63f1e4cea6fa1b
Parents: 6fa0e49
Author: Dave Johnson <sn...@gmail.com>
Authored: Sat Aug 12 16:58:54 2017 -0400
Committer: Dave Johnson <sn...@gmail.com>
Committed: Sat Aug 12 16:58:54 2017 -0400

----------------------------------------------------------------------
 .gitignore                                      |   2 +-
 app/pom.xml                                     | 281 +++++++++++--------
 .../weblogger/planet/ui/PlanetConfig.java       |   2 +
 .../weblogger/planet/ui/PlanetGroups.java       |   2 +
 .../planet/ui/PlanetSubscriptions.java          |   2 +
 .../weblogger/ui/struts2/admin/CacheInfo.java   |   2 +
 .../struts2/admin/GlobalCommentManagement.java  |   2 +
 .../ui/struts2/admin/GlobalConfig.java          |   2 +
 .../ui/struts2/admin/PingTargetEdit.java        |   2 +
 .../weblogger/ui/struts2/admin/PingTargets.java |   2 +
 .../weblogger/ui/struts2/admin/UserAdmin.java   |   2 +
 .../weblogger/ui/struts2/admin/UserEdit.java    |   2 +
 .../weblogger/ui/struts2/core/CreateWeblog.java |   2 +
 .../weblogger/ui/struts2/core/Install.java      |   2 +
 .../roller/weblogger/ui/struts2/core/Login.java |   2 +
 .../weblogger/ui/struts2/core/MainMenu.java     |   2 +
 .../ui/struts2/core/OAuthAuthorize.java         |   2 +
 .../weblogger/ui/struts2/core/OAuthKeys.java    |   2 +
 .../weblogger/ui/struts2/core/Profile.java      |   2 +
 .../weblogger/ui/struts2/core/Register.java     |   2 +
 .../roller/weblogger/ui/struts2/core/Setup.java |   2 +
 .../ui/struts2/editor/BookmarkEdit.java         |   2 +
 .../weblogger/ui/struts2/editor/Bookmarks.java  |   2 +
 .../ui/struts2/editor/BookmarksImport.java      |   2 +
 .../weblogger/ui/struts2/editor/Categories.java |   2 +
 .../ui/struts2/editor/CategoryEdit.java         |   2 +
 .../ui/struts2/editor/CategoryRemove.java       |   2 +
 .../weblogger/ui/struts2/editor/Comments.java   |   2 +
 .../weblogger/ui/struts2/editor/Entries.java    |   2 +
 .../struts2/editor/EntryAddWithMediaFile.java   |   2 +
 .../weblogger/ui/struts2/editor/EntryEdit.java  |   2 +
 .../ui/struts2/editor/EntryRemove.java          |   2 +
 .../weblogger/ui/struts2/editor/FolderEdit.java |   2 +
 .../ui/struts2/editor/Maintenance.java          |   2 +
 .../ui/struts2/editor/MediaFileAdd.java         |   2 +
 .../ui/struts2/editor/MediaFileEdit.java        |   2 +
 .../struts2/editor/MediaFileImageChooser.java   |   2 +
 .../ui/struts2/editor/MediaFileImageDim.java    |   2 +
 .../ui/struts2/editor/MediaFileView.java        |   2 +
 .../ui/struts2/editor/MemberResign.java         |   2 +
 .../weblogger/ui/struts2/editor/Members.java    |   2 +
 .../ui/struts2/editor/MembersInvite.java        |   2 +
 .../weblogger/ui/struts2/editor/Pings.java      |   2 +
 .../ui/struts2/editor/StylesheetEdit.java       |   2 +
 .../ui/struts2/editor/TemplateEdit.java         |   2 +
 .../ui/struts2/editor/TemplateRemove.java       |   2 +
 .../weblogger/ui/struts2/editor/Templates.java  |   2 +
 .../ui/struts2/editor/TemplatesRemove.java      |   2 +
 .../weblogger/ui/struts2/editor/ThemeEdit.java  |   2 +
 .../ui/struts2/editor/WeblogConfig.java         |   2 +
 .../ui/struts2/editor/WeblogRemove.java         |   2 +
 app/src/main/resources/log4j2.xml               |  32 +++
 app/src/main/resources/struts.xml               | 218 +++++++++-----
 .../main/webapp/WEB-INF/jsps/core/MainMenu.jsp  |   2 +-
 pom.xml                                         |  18 ++
 55 files changed, 460 insertions(+), 191 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index bfa6a22..c152e92 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-# Created by .ignore support plugin (hsz.mobi)
+./tomcat/*

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/pom.xml
----------------------------------------------------------------------
diff --git a/app/pom.xml b/app/pom.xml
index 5efdd48..7fe24da 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -1,3 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -23,6 +40,42 @@
 
     <dependencies>
 
+
+        <!-- Java EE deps -->
+
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.0.1</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.servlet.jsp</groupId>
+            <artifactId>jsp-api</artifactId>
+            <version>2.2</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>jstl</artifactId>
+            <version>1.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+            <version>1.4.7</version>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
         <!-- Eclipselink JPA is the default JPA implementation used by
              Roller, comment out this dependency and uncomment Hibernate's
              to use that stack instead.
@@ -72,36 +125,88 @@
              to this pom.xml.  Check the Roller source code repository for a copy of
              this pom.xml prior to July 2013 for the necessary OpenJPA configuration -->
 
+
+        <!-- Apache deps include Velocity, Struts, Lucene, HttpClient and XML-RPC -->
+
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.17</version>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity</artifactId>
+            <version>1.7</version>
         </dependency>
 
         <dependency>
-            <groupId>com.google.inject</groupId>
-            <artifactId>guice</artifactId>
-            <version>4.0</version>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-core</artifactId>
+            <version>2.5.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-spring-plugin</artifactId>
+            <version>2.5.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-convention-plugin</artifactId>
+            <version>2.5.12</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-analyzers-common</artifactId>
             <scope>compile</scope>
-            <version>${lucene.version}</version>
+            <version>4.10.4</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.lucene</groupId>
             <artifactId>lucene-queryparser</artifactId>
             <scope>compile</scope>
-            <version>${lucene.version}</version>
+            <version>4.10.4</version>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity</artifactId>
-            <version>1.7</version>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-tiles-plugin</artifactId>
+            <version>2.5.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-validator</groupId>
+            <artifactId>commons-validator</artifactId>
+            <version>1.6</version>
+            <type>jar</type>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+            <version>1.9.3</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.10</version>
+        </dependency>
+
+        <dependency>
+            <groupId>xml-security</groupId>
+            <artifactId>xmlsec</artifactId>
+            <version>1.3.0</version>
         </dependency>
 
         <dependency>
@@ -140,54 +245,8 @@
             </exclusions>
         </dependency>
 
-        <dependency>
-            <groupId>net.oauth.core</groupId>
-            <artifactId>oauth-provider</artifactId>
-            <scope>compile</scope>
-            <version>20100527</version>
-        </dependency>
-
-        <!-- web -->
-
-        <dependency>
-	        <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>3.0.1</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.rometools</groupId>
-            <artifactId>rome-fetcher</artifactId>
-            <version>1.5.0</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.rometools</groupId>
-            <artifactId>rome-propono</artifactId>
-            <version>1.5.0</version>
-            <scope>compile</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>xmlrpc</groupId>
-                    <artifactId>xmlrpc-common</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>xmlrpc</groupId>
-                    <artifactId>xmlrpc-client</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.7.10</version>
-            <scope>runtime</scope>
-        </dependency>
 
-        <!-- spring deps -->
+        <!-- Spring deps (needed only for Spring Security) -->
 
         <dependency>
             <groupId>org.springframework</groupId>
@@ -249,77 +308,54 @@
             </exclusions>
         </dependency>
 
+
+        <!-- Other deps include Guice and ROME -->
+
         <dependency>
-            <groupId>org.apache.struts</groupId>
-            <artifactId>struts2-spring-plugin</artifactId>
-            <version>2.5.10.1</version>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
+            <version>4.1.0</version>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.struts</groupId>
-            <artifactId>struts2-tiles-plugin</artifactId>
-            <version>2.5.10.1</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>1.7.25</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>
-            <groupId>xml-security</groupId>
-            <artifactId>xmlsec</artifactId>
-            <version>1.3.0</version>
+            <groupId>com.rometools</groupId>
+            <artifactId>rome-fetcher</artifactId>
+            <version>1.7.4</version>
+            <scope>compile</scope>
         </dependency>
 
-        <!-- Java EE deps -->
-
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>jstl</artifactId>
-            <version>1.2</version>
+            <groupId>com.rometools</groupId>
+            <artifactId>rome-fetcher</artifactId>
+            <version>1.7.4</version>
+            <scope>compile</scope>
         </dependency>
 
         <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>mail</artifactId>
-            <version>1.4.7</version>
-            <scope>provided</scope>
+            <groupId>com.rometools</groupId>
+            <artifactId>rome-propono</artifactId>
+            <version>1.7.4</version>
+            <scope>compile</scope>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.activation</groupId>
-                    <artifactId>activation</artifactId>
+                    <groupId>xmlrpc</groupId>
+                    <artifactId>xmlrpc-common</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xmlrpc</groupId>
+                    <artifactId>xmlrpc-client</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet.jsp</groupId>
-            <artifactId>jsp-api</artifactId>
-            <version>2.2</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-validator</groupId>
-            <artifactId>commons-validator</artifactId>
-            <version>1.4.0</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils</artifactId>
-            <version>1.9.2</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.10</version>
-        </dependency>
-
-        <!-- WebJars deps -->
-
-        <dependency>
             <groupId>org.webjars</groupId>
             <artifactId>webjars-servlet-2.x</artifactId>
             <version>1.5</version>
@@ -331,34 +367,43 @@
             <version>1.2.29</version>
         </dependency>
 
-        <!-- test deps -->
+        <dependency>
+            <groupId>net.oauth.core</groupId>
+            <artifactId>oauth-provider</artifactId>
+            <scope>compile</scope>
+            <version>20100527</version>
+        </dependency>
+
+
+        <!-- Test deps -->
 
         <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbynet</artifactId>
-            <version>${derby.version}</version>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.ant</groupId>
             <artifactId>ant</artifactId>
-            <version>1.9.4</version>
+            <version>1.10.1</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.derby</groupId>
-            <artifactId>derbyclient</artifactId>
+            <artifactId>derbynet</artifactId>
             <version>${derby.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbyclient</artifactId>
+            <version>${derby.version}</version>
             <scope>test</scope>
         </dependency>
+
     </dependencies>
 
     <build>
@@ -370,7 +415,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-war-plugin</artifactId>
-                <version>2.4</version>
+                <version>3.1.0</version>
                 <configuration>
                     <attachClasses>true</attachClasses>
                 </configuration>

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetConfig.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetConfig.java b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetConfig.java
index abb2e08..02f847e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetConfig.java
+++ b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetConfig.java
@@ -33,6 +33,7 @@ import org.apache.roller.weblogger.config.runtime.PropertyDef;
 import org.apache.roller.weblogger.config.runtime.RuntimeConfigDefs;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.pojos.RuntimeConfigProperty;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ParameterAware;
 
 
@@ -41,6 +42,7 @@ import org.apache.struts2.interceptor.ParameterAware;
  *
  * Handles editing of planet global runtime properties.
  */
+@AllowedMethods({"execute","save"})
 public class PlanetConfig extends PlanetUIAction implements ParameterAware {
     
     private static Log log = LogFactory.getLog(PlanetConfig.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetGroups.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetGroups.java b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetGroups.java
index 3edc03a..89f35d6 100644
--- a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetGroups.java
+++ b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetGroups.java
@@ -24,11 +24,13 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.roller.planet.business.PlanetManager;
 import org.apache.roller.planet.pojos.PlanetGroup;
 import org.apache.roller.weblogger.business.WebloggerFactory;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Manage planet groups.
  */
+@AllowedMethods({"execute","save","delete"})
 public class PlanetGroups extends PlanetUIAction {
     
     private static Log log = LogFactory.getLog(PlanetGroups.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetSubscriptions.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetSubscriptions.java b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetSubscriptions.java
index 5063be5..4216bf1 100644
--- a/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetSubscriptions.java
+++ b/app/src/main/java/org/apache/roller/weblogger/planet/ui/PlanetSubscriptions.java
@@ -30,11 +30,13 @@ import org.apache.roller.planet.pojos.PlanetGroup;
 import org.apache.roller.planet.pojos.Subscription;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Manage planet group subscriptions, default group is "all".
  */
+@AllowedMethods({"execute","save","delete"})
 public class PlanetSubscriptions extends PlanetUIAction {
     
     private static final Log LOGGER = LogFactory.getLog(PlanetSubscriptions.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java
index 79a2783..83fc3ce 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java
@@ -24,11 +24,13 @@ import java.util.Map;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Action for displaying rendering cache info.
  */
+@AllowedMethods({"execute"})
 public class CacheInfo extends UIAction {
     
     // map of stats to display

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
index 21b40dc..53d4def 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
@@ -41,12 +41,14 @@ import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
 import org.apache.roller.weblogger.util.cache.CacheManager;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.Utilities;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ServletRequestAware;
 
 
 /**
  * Action for managing global set of comments.
  */
+@AllowedMethods({"query","delete","update"})
 public class GlobalCommentManagement extends UIAction implements ServletRequestAware {
     
     private static Log log = LogFactory.getLog(GlobalCommentManagement.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java
index 6f474b7..39c3a0b 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java
@@ -39,6 +39,7 @@ import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.pojos.RuntimeConfigProperty;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ParameterAware;
 import org.apache.struts2.interceptor.ServletRequestAware;
 
@@ -46,6 +47,7 @@ import org.apache.struts2.interceptor.ServletRequestAware;
 /**
  * Action which handles editing of global configuration.
  */
+@AllowedMethods({"execute","save"})
 public class GlobalConfig extends UIAction implements ParameterAware, ServletRequestAware {
     
     private static Log log = LogFactory.getLog(GlobalConfig.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
index 2769576..f55e58e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargetEdit.java
@@ -26,10 +26,12 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.pings.PingTargetManager;
 import org.apache.roller.weblogger.pojos.PingTarget;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Add or modify a common ping target.
  */
+@AllowedMethods({"execute","save"})
 public class PingTargetEdit extends UIAction {
     
     private static Log log = LogFactory.getLog(PingTargetEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargets.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargets.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargets.java
index 1f8b487..e012fa9 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargets.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/PingTargets.java
@@ -29,10 +29,12 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.pings.PingTargetManager;
 import org.apache.roller.weblogger.pojos.PingTarget;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Admin action for managing global ping targets.
  */
+@AllowedMethods({"execute","enable","disable","delete","deleteConfirm"})
 public class PingTargets extends UIAction {
     
     private static Log log = LogFactory.getLog(PingTargets.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserAdmin.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserAdmin.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserAdmin.java
index dce1f79..837c213 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserAdmin.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserAdmin.java
@@ -25,11 +25,13 @@ import org.apache.roller.weblogger.config.AuthMethod;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Action which displays user admin search page.
  */
+@AllowedMethods({"execute"})
 public class UserAdmin extends UIAction {
     
     public UserAdmin() {

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
index cd73584..8c20c88 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/UserEdit.java
@@ -39,12 +39,14 @@ import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.core.Register;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Action that allows an admin to modify a users profile.
  */
+@AllowedMethods({"execute","save","firstSave"})
 public class UserEdit extends UIAction {
     
     private static Log log = LogFactory.getLog(UserEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/CreateWeblog.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/CreateWeblog.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/CreateWeblog.java
index 10f918f..0770fba 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/CreateWeblog.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/CreateWeblog.java
@@ -33,6 +33,7 @@ import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.Utilities;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 import java.util.List;
@@ -41,6 +42,7 @@ import java.util.List;
 /**
  * Allows user to create a new website.
  */
+@AllowedMethods({"execute","save"})
 public class CreateWeblog extends UIAction {
     
     private static Log log = LogFactory.getLog(CreateWeblog.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
index b5becd2..a12af32 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
@@ -31,12 +31,14 @@ import org.apache.roller.weblogger.business.startup.StartupException;
 import org.apache.roller.weblogger.business.startup.WebloggerStartup;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.springframework.beans.factory.access.BootstrapException;
 
 
 /**
  * Walk user through install process.
  */
+@AllowedMethods({"execute","create","update","bootstrap"})
 public class Install extends UIAction {
 
     private static Log log = LogFactory.getLog(Install.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Login.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Login.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Login.java
index 4485c7d..2e322fd 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Login.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Login.java
@@ -21,6 +21,7 @@ package org.apache.roller.weblogger.ui.struts2.core;
 import org.apache.roller.weblogger.config.AuthMethod;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Handle user logins.
@@ -33,6 +34,7 @@ import org.apache.roller.weblogger.ui.struts2.util.UIAction;
  *
  * @see org.apache.roller.weblogger.ui.struts2.core.Register
  */
+@AllowedMethods({"execute"})
 public class Login extends UIAction {
     
     private String error = null;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/MainMenu.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/MainMenu.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/MainMenu.java
index ae48acc..95fdef2 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/MainMenu.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/MainMenu.java
@@ -29,11 +29,13 @@ import org.apache.roller.weblogger.business.WeblogManager;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Allows user to view and pick from list of his/her websites.
  */
+@AllowedMethods({"execute","accept","decline"})
 public class MainMenu extends UIAction {
     
     private static Log log = LogFactory.getLog(MainMenu.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthAuthorize.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthAuthorize.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthAuthorize.java
index f20c67d..3c261eb 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthAuthorize.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthAuthorize.java
@@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ServletRequestAware;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
@@ -29,6 +30,7 @@ import org.apache.struts2.interceptor.validation.SkipValidation;
 /**
  * Allow user to authorized OAuth access to his/her account.
  */
+@AllowedMethods({"execute"})
 public class OAuthAuthorize extends UIAction implements ServletRequestAware {
     private static Log log = LogFactory.getLog(OAuthAuthorize.class);
     private String appDesc = null;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthKeys.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthKeys.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthKeys.java
index 1d5d4d6..d2e9ae8 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthKeys.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/OAuthKeys.java
@@ -26,12 +26,14 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
 import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Allows user to view his/her OAuth consumer key and secret.
  */
+@AllowedMethods({"execute"})
 public class OAuthKeys extends UIAction {
     private static Log log = LogFactory.getLog(OAuthKeys.class);
     private OAuthConsumer userConsumer;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
index f9e1d63..1de249e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
@@ -28,12 +28,14 @@ import org.apache.roller.weblogger.config.AuthMethod;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Allows user to edit his/her profile.
  */
+@AllowedMethods({"execute","save"})
 public class Profile extends UIAction {
     private static Log log = LogFactory.getLog(Profile.class);
     

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Register.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Register.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Register.java
index 138aadb..259f309 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Register.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Register.java
@@ -37,6 +37,7 @@ import org.apache.roller.weblogger.ui.core.RollerSession;
 import org.apache.roller.weblogger.ui.core.security.CustomUserRegistry;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.MailUtil;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ServletRequestAware;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
@@ -49,6 +50,7 @@ import org.apache.struts2.interceptor.validation.SkipValidation;
  *
  * @see org.apache.roller.weblogger.ui.struts2.core.Login
  */
+@AllowedMethods({"execute","save","activate"})
 public class Register extends UIAction implements ServletRequestAware {
     
     private static Log log = LogFactory.getLog(Register.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Setup.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Setup.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Setup.java
index f7ac6cb..db3340c 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Setup.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Setup.java
@@ -28,11 +28,13 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.RuntimeConfigProperty;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Page used to display Roller install instructions.
  */
+@AllowedMethods({"execute","save"})
 public class Setup extends UIAction {
     
     private static final Log LOG = LogFactory.getLog(Setup.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
index 725dcfd..6e2b38f 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarkEdit.java
@@ -27,12 +27,14 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.WeblogBookmark;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Edit a new or existing bookmark (blogroll item).
  */
+@AllowedMethods({"execute","save"})
 public class BookmarkEdit extends UIAction {
     
     private static Log log = LogFactory.getLog(BookmarkEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Bookmarks.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Bookmarks.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Bookmarks.java
index 77b3daa..b0b9dd7 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Bookmarks.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Bookmarks.java
@@ -32,11 +32,13 @@ import org.apache.roller.weblogger.pojos.WeblogBookmark;
 import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * List bookmarks and folders and allow for moving them around and deleting them.
  */
+@AllowedMethods({"execute","delete","deleteFolder","move","view","folderCreated"})
 public class Bookmarks extends UIAction {
 
     private static Log log = LogFactory.getLog(Bookmarks.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarksImport.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarksImport.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarksImport.java
index c2d7cd2..6718aea 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarksImport.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/BookmarksImport.java
@@ -31,11 +31,13 @@ import org.apache.roller.weblogger.business.BookmarkManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Import opml file into bookmarks folder.
  */
+@AllowedMethods({"execute","save"})
 public final class BookmarksImport extends UIAction {
     
     private static Log log = LogFactory.getLog(BookmarksImport.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Categories.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Categories.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Categories.java
index ae6e7fa..a0c010b 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Categories.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Categories.java
@@ -28,10 +28,12 @@ import org.apache.roller.weblogger.business.WeblogEntryManager;
 import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Manage weblog categories.
  */
+@AllowedMethods({"execute","move"})
 public class Categories extends UIAction {
 
 	private static Log log = LogFactory.getLog(Categories.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
index 99fbc9f..7b01e5c 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryEdit.java
@@ -30,12 +30,14 @@ import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Edit a new or existing weblog category.
  */
+@AllowedMethods({"execute","save"})
 public class CategoryEdit extends UIAction {
     
     private static Log log = LogFactory.getLog(CategoryEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
index c161b27..b71108b 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/CategoryRemove.java
@@ -32,11 +32,13 @@ import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Remove a category.
  */
+@AllowedMethods({"execute","remove","cancel"})
 public class CategoryRemove extends UIAction {
     
     private static Log log = LogFactory.getLog(CategoryRemove.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
index 899009e..5ff453a 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Comments.java
@@ -47,10 +47,12 @@ import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.I18nMessages;
 import org.apache.roller.weblogger.util.MailUtil;
 import org.apache.roller.weblogger.util.Utilities;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Action for managing weblog comments.
  */
+@AllowedMethods({"execute","query","delete","update"})
 public class Comments extends UIAction {
 
     private static final long serialVersionUID = -104973988372024709L;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Entries.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Entries.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Entries.java
index b0530ad..1b33c9c 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Entries.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Entries.java
@@ -36,11 +36,13 @@ import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.pagers.EntriesPager;
 import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * A list view of entries in a weblog.
  */
+@AllowedMethods({"execute"})
 public class Entries extends UIAction {
     
     private static Log log = LogFactory.getLog(Entries.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
index c3bb6ef..a45e482 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryAddWithMediaFile.java
@@ -23,12 +23,14 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.business.MediaFileManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.MediaFile;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Prepares creation of a new weblog entry with an embedded pointer to a media file.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute"})
 public class EntryAddWithMediaFile extends MediaFileBase {
 
     private static Log log = LogFactory.getLog(EntryAddWithMediaFile.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
index 3d2461c..3724203 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
@@ -57,11 +57,13 @@ import org.apache.roller.weblogger.util.RollerMessages;
 import org.apache.roller.weblogger.util.RollerMessages.RollerMessage;
 import org.apache.roller.weblogger.util.Trackback;
 import org.apache.roller.weblogger.util.TrackbackNotAllowedException;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Edit a new or existing entry.
  */
+@AllowedMethods({"execute","firstSave","saveDraft","publish","entryEdit","entryAdd"})
 public final class EntryEdit extends UIAction {
 
     private static Log log = LogFactory.getLog(EntryEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
index b6832c4..0ad06fa 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
@@ -28,6 +28,7 @@ import org.apache.roller.weblogger.pojos.WeblogEntry;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 import java.util.Collections;
 import java.util.List;
@@ -35,6 +36,7 @@ import java.util.List;
 /**
  * Remove a weblog entry.
  */
+@AllowedMethods({"execute","remove"})
 public class EntryRemove extends UIAction {
 
     private static Log log = LogFactory.getLog(EntryRemove.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
index 10a7201..b2a8084 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/FolderEdit.java
@@ -27,12 +27,14 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Edit a new or existing folder.
  */
+@AllowedMethods({"execute","save"})
 public class FolderEdit extends UIAction {
     
     private static Log log = LogFactory.getLog(FolderEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Maintenance.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Maintenance.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Maintenance.java
index a1d4ade..110534e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Maintenance.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Maintenance.java
@@ -28,11 +28,13 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Allows user to perform maintenance operations such as flushing the page cache
  * or re-indexing the search index.
  */
+@AllowedMethods({"execute","index","flushCache","reset"})
 public class Maintenance extends UIAction {
 
     private static Log log = LogFactory.getLog(Maintenance.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
index 8c9e48b..ccb575e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
@@ -36,12 +36,14 @@ import org.apache.roller.weblogger.pojos.MediaFileDirectory;
 import org.apache.roller.weblogger.util.RollerMessages;
 import org.apache.roller.weblogger.util.RollerMessages.RollerMessage;
 import org.apache.roller.weblogger.util.Utilities;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Adds a new media file.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute","save"})
 public class MediaFileAdd extends MediaFileBase {
 
     private static Log log = LogFactory.getLog(MediaFileAdd.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
index 8977ae3..b273513 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileEdit.java
@@ -29,12 +29,14 @@ import org.apache.roller.weblogger.business.MediaFileManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.MediaFile;
 import org.apache.roller.weblogger.pojos.MediaFileDirectory;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Edits metadata for a media file.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute","save"})
 public class MediaFileEdit extends MediaFileBase {
 
     private static Log log = LogFactory.getLog(MediaFileEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
index 4a17fe3..fb82257 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageChooser.java
@@ -33,12 +33,14 @@ import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator;
 import org.apache.roller.weblogger.pojos.MediaFileDirectoryComparator.DirectoryComparatorType;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Browse media files action.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute"})
 public class MediaFileImageChooser extends MediaFileBase {
     private static Log log = LogFactory.getLog(MediaFileImageChooser.class);
 

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
index cad891a..2451050 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileImageDim.java
@@ -23,12 +23,14 @@ import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.MediaFileManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.MediaFile;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * Action class for choosing image dimensions.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute"})
 public class MediaFileImageDim extends MediaFileBase {
 
     private static Log log = LogFactory.getLog(MediaFileImageDim.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
index 4590748..88be6cb 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileView.java
@@ -37,12 +37,14 @@ import org.apache.roller.weblogger.pojos.MediaFileFilter;
 import org.apache.roller.weblogger.ui.struts2.pagers.MediaFilePager;
 import org.apache.roller.weblogger.ui.struts2.util.KeyValueObject;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 /**
  * View media files.
  */
 @SuppressWarnings("serial")
+@AllowedMethods({"execute","view","search","delete","deleteSelected","deleteFolder","includeInGallery","moveSelected"})
 public class MediaFileView extends MediaFileBase {
 
     private static Log log = LogFactory.getLog(MediaFileView.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MemberResign.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MemberResign.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MemberResign.java
index a38e0c4..4c8bbba 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MemberResign.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MemberResign.java
@@ -27,10 +27,12 @@ import org.apache.roller.weblogger.business.UserManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Action for resigning from a weblog.
  */
+@AllowedMethods({"execute","resign"})
 public class MemberResign extends UIAction {
 
     private static Log log = LogFactory.getLog(MemberResign.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Members.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Members.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Members.java
index e0b7e1a..93e4b10 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Members.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Members.java
@@ -31,6 +31,7 @@ import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.Utilities;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.ParameterAware;
 
 
@@ -40,6 +41,7 @@ import org.apache.struts2.interceptor.ParameterAware;
  * TODO: fix bug in UserManager which doesn't remove permissions from the
  * website.permissions collection when a permission is deleted.
  */
+@AllowedMethods({"execute","save"})
 public class Members extends UIAction implements ParameterAware {
     
     private static Log log = LogFactory.getLog(Members.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MembersInvite.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MembersInvite.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MembersInvite.java
index e8a17cf..5efbb4e 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MembersInvite.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MembersInvite.java
@@ -30,6 +30,7 @@ import org.apache.roller.weblogger.pojos.User;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.MailUtil;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
@@ -37,6 +38,7 @@ import org.apache.roller.weblogger.util.MailUtil;
  *
  * TODO: handle 'disabled' result
  */
+@AllowedMethods({"execute","save","cancel"})
 public class MembersInvite extends UIAction {
     
     private static Log log = LogFactory.getLog(MembersInvite.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Pings.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Pings.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Pings.java
index 2ab252e..6623725 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Pings.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Pings.java
@@ -28,6 +28,7 @@ import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.AutoPing;
 import org.apache.roller.weblogger.pojos.PingTarget;
 import org.apache.roller.weblogger.business.pings.WeblogUpdatePinger;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.xmlrpc.XmlRpcException;
 import java.io.IOException;
 import java.net.SocketException;
@@ -43,6 +44,7 @@ import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 /**
  * Actions for setting up automatic ping configuration for a weblog.
  */
+@AllowedMethods({"execute","enable","disable","pingNow"})
 public class Pings extends UIAction {
     
     private static Log log = LogFactory.getLog(Pings.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
index 27d0b49..af920b1 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/StylesheetEdit.java
@@ -37,10 +37,12 @@ import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.pojos.WeblogTheme;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Action which handles editing for a weblog stylesheet override template.
  */
+@AllowedMethods({"execute","move","delete","revert"})
 public class StylesheetEdit extends UIAction {
 
     private static final long serialVersionUID = 4657591015852311907L;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEdit.java
index 9be3ba4..1863bd2 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateEdit.java
@@ -27,6 +27,7 @@ import org.apache.roller.weblogger.pojos.TemplateRendition.TemplateLanguage;
 import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 import java.util.Date;
@@ -37,6 +38,7 @@ import java.util.Map;
 /**
  * Action which handles editing for a single WeblogTemplate.
  */
+@AllowedMethods({"execute","move"})
 public class TemplateEdit extends UIAction {
 
     private static Log log = LogFactory.getLog(TemplateEdit.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateRemove.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateRemove.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateRemove.java
index 298e54b..f62f6c3 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateRemove.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplateRemove.java
@@ -29,10 +29,12 @@ import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.pojos.WeblogTheme;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Remove a template.
  */
+@AllowedMethods({"execute","remove","cancel"})
 public class TemplateRemove extends UIAction {
 
 	private static Log log = LogFactory.getLog(TemplateRemove.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
index cb5ef89..27de33f 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/Templates.java
@@ -31,6 +31,7 @@ import org.apache.roller.weblogger.pojos.ThemeTemplate.ComponentType;
 import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.pojos.WeblogTheme;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -42,6 +43,7 @@ import java.util.Map;
 /**
  * Templates listing page.
  */
+@AllowedMethods({"execute","add"})
 public class Templates extends UIAction {
 
 	private static Log log = LogFactory.getLog(Templates.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplatesRemove.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplatesRemove.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplatesRemove.java
index e92db7f..a1ef952 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplatesRemove.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/TemplatesRemove.java
@@ -32,10 +32,12 @@ import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.Utilities;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Remove templates.
  */
+@AllowedMethods({"execute","remove","cancel"})
 public class TemplatesRemove extends UIAction {
 
     private static final long serialVersionUID = 895186156151331087L;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
index 4d48abf..330cb8b 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
@@ -37,10 +37,12 @@ import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.WeblogTemplate;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 /**
  * Action for controlling theme selection.
  */
+@AllowedMethods({"execute","save"})
 public class ThemeEdit extends UIAction {
 
     private static final long serialVersionUID = 4644653507344432426L;

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java
index a0a8fc0..335ef17 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig.java
@@ -36,12 +36,14 @@ import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.Blacklist;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 import org.apache.struts2.interceptor.validation.SkipValidation;
 
 
 /**
  * Action for modifying weblog configuration.
  */
+@AllowedMethods({"execute","save"})
 public class WeblogConfig extends UIAction {
     
     private static Log log = LogFactory.getLog(WeblogConfig.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogRemove.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogRemove.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogRemove.java
index be2b4ef..829f4dd 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogRemove.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/WeblogRemove.java
@@ -23,11 +23,13 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
+import org.apache.struts2.convention.annotation.AllowedMethods;
 
 
 /**
  * Action for removing a weblog.
  */
+@AllowedMethods({"execute","remove"})
 public class WeblogRemove extends UIAction {
 
     private static Log log = LogFactory.getLog(WeblogRemove.class);

http://git-wip-us.apache.org/repos/asf/roller/blob/b3a8128c/app/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/app/src/main/resources/log4j2.xml b/app/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..342a0f8
--- /dev/null
+++ b/app/src/main/resources/log4j2.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<Configuration status="WARN">
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Root level="error">
+            <AppenderRef ref="Console"/>
+        </Root>
+        <Logger name="org.apache.struts2" level="trace">
+            <AppenderRef ref="Console"/>
+        </Logger>
+    </Loggers>
+</Configuration>