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 2011/04/09 21:20:24 UTC
svn commit: r1090655 -
/roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java
Author: snoopdave
Date: Sat Apr 9 19:20:24 2011
New Revision: 1090655
URL: http://svn.apache.org/viewvc?rev=1090655&view=rev
Log:
Fixed for file upload and post-without-categories, ROL-1923 and ROL-1924
Modified:
roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java
Modified: roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java
URL: http://svn.apache.org/viewvc/roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java?rev=1090655&r1=1090654&r2=1090655&view=diff
==============================================================================
--- roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java (original)
+++ roller/trunk/weblogger-web/src/main/java/org/apache/roller/weblogger/webservices/xmlrpc/MetaWeblogAPIHandler.java Sat Apr 9 19:20:24 2011
@@ -25,20 +25,22 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
+
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
import org.apache.roller.weblogger.business.MediaFileManager;
+import org.apache.roller.weblogger.business.URLStrategy;
+import org.apache.roller.weblogger.business.WeblogEntryManager;
import org.apache.roller.weblogger.business.Weblogger;
import org.apache.roller.weblogger.business.WebloggerFactory;
-import org.apache.roller.weblogger.business.WeblogEntryManager;
+import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
import org.apache.roller.weblogger.pojos.MediaFile;
import org.apache.roller.weblogger.pojos.MediaFileDirectory;
import org.apache.roller.weblogger.pojos.User;
+import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.pojos.WeblogCategory;
import org.apache.roller.weblogger.pojos.WeblogEntry;
-import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.util.RollerMessages;
import org.apache.roller.weblogger.util.Utilities;
import org.apache.xmlrpc.XmlRpcException;
@@ -141,7 +143,9 @@ public class MetaWeblogAPIHandler extend
String cat = null;
if ( postcontent.get("categories") != null ) {
Object[] cats = (Object[])postcontent.get("categories");
- cat = (String)cats[0];
+ if (cats.length > 0) {
+ cat = (String)cats[0];
+ }
}
mLogger.debug(" Title: " + title);
mLogger.debug(" Category: " + cat);
@@ -376,9 +380,17 @@ public class MetaWeblogAPIHandler extend
mf.setContentType(type);
mf.setInputStream(new ByteArrayInputStream(bits));
mf.setLength(bits.length);
-
String fileLink = mf.getPermalink();
+ RollerMessages errors = new RollerMessages();
+ fmgr.createMediaFile(website, mf, errors);
+
+ if (errors.getErrorCount() > 0) {
+ throw new Exception(errors.toString());
+ }
+
+ roller.flush();
+
Hashtable returnStruct = new Hashtable(1);
returnStruct.put("url", fileLink);
return returnStruct;
@@ -450,7 +462,7 @@ public class MetaWeblogAPIHandler extend
private Hashtable createPostStruct(WeblogEntry entry, String userid) {
String permalink =
- WebloggerRuntimeConfig.getAbsoluteContextURL() + entry.getPermaLink();
+ WebloggerRuntimeConfig.getAbsoluteContextURL() + entry.getPermaLink();
Hashtable struct = new Hashtable();
struct.put("title", entry.getTitle());
@@ -479,17 +491,19 @@ public class MetaWeblogAPIHandler extend
private Hashtable createCategoryStruct(WeblogCategory category, String userid) {
- String contextUrl = WebloggerRuntimeConfig.getAbsoluteContextURL();
-
Hashtable struct = new Hashtable();
+ struct.put("title", category.getPath());
struct.put("description", category.getPath());
- String catUrl = contextUrl+"/page/"+userid+"?catname="+category.getPath();
- catUrl = StringUtils.replace(catUrl," ","%20");
+ Weblogger roller = WebloggerFactory.getWeblogger();
+ URLStrategy strategy = roller.getUrlStrategy();
+
+ String catUrl = strategy.getWeblogCollectionURL(category.getWebsite(),
+ null, category.getPath(), null, null, 0, true);
struct.put("htmlUrl", catUrl);
- String rssUrl = contextUrl+"/rss/"+userid+"?catname="+category.getPath();
- rssUrl = StringUtils.replace(catUrl," ","%20");
+ String rssUrl = strategy.getWeblogFeedURL(category.getWebsite(),
+ null, "entries", "rss", category.getPath(), null, null, false, true);
struct.put("rssUrl",rssUrl);
return struct;