Author: gmazza
Date: Tue Aug  5 02:41:31 2014
New Revision: 1615852

URL: http://svn.apache.org/r1615852
Log:
EntryEdit and EntryRemove now subclassing UIAction instead of EntryBase, which 
has been removed.

Removed:
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryBase.java
Modified:
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java?rev=1615852&r1=1615851&r2=1615852&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryEdit.java
 Tue Aug  5 02:41:31 2014
@@ -19,11 +19,14 @@
 package org.apache.roller.weblogger.ui.struts2.editor;
 
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -32,11 +35,19 @@ import org.apache.roller.util.RollerCons
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.WeblogEntryManager;
+import org.apache.roller.weblogger.business.plugins.PluginManager;
+import org.apache.roller.weblogger.business.plugins.entry.WeblogEntryPlugin;
+import org.apache.roller.weblogger.business.search.IndexManager;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.pojos.WeblogCategory;
 import org.apache.roller.weblogger.pojos.WeblogEntry;
 import org.apache.roller.weblogger.pojos.WeblogEntry.PubStatus;
+import org.apache.roller.weblogger.pojos.WeblogEntrySearchCriteria;
 import org.apache.roller.weblogger.pojos.WeblogPermission;
+import org.apache.roller.weblogger.ui.core.RollerContext;
+import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager;
+import org.apache.roller.weblogger.ui.core.plugins.WeblogEntryEditor;
+import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
 import org.apache.roller.weblogger.util.MailUtil;
 import org.apache.roller.weblogger.util.MediacastException;
@@ -51,7 +62,7 @@ import org.apache.struts2.interceptor.va
 /**
  * Edit a new or existing entry.
  */
-public final class EntryEdit extends EntryBase {
+public final class EntryEdit extends UIAction {
 
     private static Log log = LogFactory.getLog(EntryEdit.class);
 
@@ -156,6 +167,9 @@ public final class EntryEdit extends Ent
                 WeblogEntryManager weblogMgr = WebloggerFactory.getWeblogger()
                         .getWeblogEntryManager();
 
+                IndexManager indexMgr = WebloggerFactory.getWeblogger()
+                        .getIndexManager();
+
                 WeblogEntry weblogEntry = getEntry();
 
                 // set updatetime & pubtime
@@ -227,9 +241,9 @@ public final class EntryEdit extends Ent
 
                 // notify search of the new entry
                 if (weblogEntry.isPublished()) {
-                    reindexEntry(weblogEntry);
+                    indexMgr.addEntryReIndexOperation(entry);
                 } else if ("entryEdit".equals(actionName)) {
-                    removeEntryIndex(weblogEntry);
+                    indexMgr.removeEntryIndexOperation(entry);
                 }
 
                 // notify caches
@@ -396,4 +410,87 @@ public final class EntryEdit extends Ent
         }
     }
 
+    public List<WeblogEntryPlugin> getEntryPlugins() {
+        List<WeblogEntryPlugin> availablePlugins = Collections.emptyList();
+        try {
+            PluginManager ppmgr = WebloggerFactory.getWeblogger()
+                    .getPluginManager();
+            Map<String, WeblogEntryPlugin> plugins = ppmgr
+                    .getWeblogEntryPlugins(getActionWeblog());
+
+            if (plugins.size() > 0) {
+                availablePlugins = new ArrayList<WeblogEntryPlugin>();
+                for (WeblogEntryPlugin plugin : plugins.values()) {
+                    availablePlugins.add(plugin);
+                }
+            }
+        } catch (Exception ex) {
+            log.error("Error getting plugins list", ex);
+        }
+        return availablePlugins;
+    }
+
+    public WeblogEntryEditor getEditor() {
+        UIPluginManager pmgr = RollerContext.getUIPluginManager();
+        return pmgr.getWeblogEntryEditor(getActionWeblog().getEditorPage());
+    }
+
+    public boolean isUserAnAuthor() {
+        return getActionWeblog().hasUserPermission(getAuthenticatedUser(),
+                WeblogPermission.POST);
+    }
+
+    public String getJsonAutocompleteUrl() {
+        return WebloggerFactory.getWeblogger().getUrlStrategy()
+                .getWeblogTagsJsonURL(getActionWeblog(), false, 0);
+    }
+
+    /**
+     * Get recent published weblog entries
+     * @return List of published WeblogEntry objects sorted by publication 
time.
+     */
+    public List<WeblogEntry> getRecentPublishedEntries() {
+        return getRecentEntries(PubStatus.PUBLISHED, 
WeblogEntrySearchCriteria.SortBy.PUBLICATION_TIME);
+    }
+
+    /**
+     * Get recent scheduled weblog entries
+     * @return List of scheduled WeblogEntry objects sorted by publication 
time.
+     */
+    public List<WeblogEntry> getRecentScheduledEntries() {
+        return getRecentEntries(PubStatus.SCHEDULED, 
WeblogEntrySearchCriteria.SortBy.PUBLICATION_TIME);
+    }
+
+    /**
+     * Get recent draft weblog entries
+     * @return List of draft WeblogEntry objects sorted by update time.
+     */
+    public List<WeblogEntry> getRecentDraftEntries() {
+        return getRecentEntries(PubStatus.DRAFT, 
WeblogEntrySearchCriteria.SortBy.UPDATE_TIME);
+    }
+
+    /**
+     * Get recent pending weblog entries
+     * @return List of pending WeblogEntry objects sorted by update time.
+     */
+    public List<WeblogEntry> getRecentPendingEntries() {
+        return getRecentEntries(PubStatus.PENDING, 
WeblogEntrySearchCriteria.SortBy.UPDATE_TIME);
+    }
+
+    private List<WeblogEntry> getRecentEntries(PubStatus pubStatus, 
WeblogEntrySearchCriteria.SortBy sortBy) {
+        List<WeblogEntry> entries = Collections.emptyList();
+        try {
+            WeblogEntrySearchCriteria wesc = new WeblogEntrySearchCriteria();
+            wesc.setWeblog(getActionWeblog());
+            wesc.setMaxResults(20);
+            wesc.setStatus(pubStatus);
+            wesc.setSortBy(sortBy);
+            entries = WebloggerFactory.getWeblogger().getWeblogEntryManager()
+                    .getWeblogEntries(wesc);
+        } catch (WebloggerException ex) {
+            log.error("Error getting entries list", ex);
+        }
+        return entries;
+    }
+
 }

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java?rev=1615852&r1=1615851&r2=1615852&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/EntryRemove.java
 Tue Aug  5 02:41:31 2014
@@ -26,6 +26,7 @@ import org.apache.roller.weblogger.busin
 import org.apache.roller.weblogger.business.search.IndexManager;
 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 java.util.Collections;
@@ -34,7 +35,7 @@ import java.util.List;
 /**
  * Remove a weblog entry.
  */
-public class EntryRemove extends EntryBase {
+public class EntryRemove extends UIAction {
 
        private static Log log = LogFactory.getLog(EntryRemove.class);
 
@@ -70,16 +71,14 @@ public class EntryRemove extends EntryBa
 
                if (getRemoveEntry() != null) {
                        try {
-
                                WeblogEntry entry = getRemoveEntry();
+                IndexManager manager = 
WebloggerFactory.getWeblogger().getIndexManager();
 
                                try {
                                        // remove the entry from the search 
index
                                        // TODO: can we do this in a better way?
                                        WeblogEntry.PubStatus originalStatus = 
entry.getStatus();
                                        
entry.setStatus(WeblogEntry.PubStatus.DRAFT);
-                                       IndexManager manager = 
WebloggerFactory.getWeblogger()
-                                                       .getIndexManager();
                                        manager.addEntryReIndexOperation(entry);
                                        entry.setStatus(originalStatus);
                                } catch (WebloggerException ex) {
@@ -88,7 +87,7 @@ public class EntryRemove extends EntryBa
 
                                // remove from search index
                                if (entry.isPublished()) {
-                                       removeEntryIndex(entry);
+                    manager.removeEntryIndexOperation(entry);
                                }
 
                                // flush caches
@@ -116,7 +115,7 @@ public class EntryRemove extends EntryBa
 
                return INPUT;
        }
-       
+
        public String getRemoveId() {
                return removeId;
        }


Reply via email to