roller-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From snoopd...@apache.org
Subject svn commit: r583599 - in /roller/branches/roller_4.1_dev: apps/planet/ apps/weblogger/ apps/weblogger/nbproject/ apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/ apps/weblogger/web/WEB-INF/ apps/weblogger/web/WEB-INF/classe...
Date Wed, 10 Oct 2007 20:05:06 GMT
Author: snoopdave
Date: Wed Oct 10 13:05:03 2007
New Revision: 583599

URL: http://svn.apache.org/viewvc?rev=583599&view=rev
Log:
Replacing copy of Propopo classes with direct use of Propono.
Tested against latest Ape from Tim Bray.
http://opensource.atlassian.com/projects/roller/browse/ROL-1535

Added:
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandlerFactory.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java
    roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/propono.properties
    roller/branches/roller_4.1_dev/tools/lib/rome-0.9.1-dev.jar   (with props)
    roller/branches/roller_4.1_dev/tools/lib/rome-propono-0.7.jar   (with props)
Removed:
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AppModule.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AppModuleGenerator.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AppModuleImpl.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AppModuleParser.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomException.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomHandler.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomMediaResource.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomNotAuthorizedException.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomNotFoundException.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomService.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/AtomServlet.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/Categories.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/Collection.java
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/Workspace.java
    roller/branches/roller_4.1_dev/sandbox/scripting/groovy/examples/adminprotocol/rap
    roller/branches/roller_4.1_dev/tools/lib/rome-0.9.jar
Modified:
    roller/branches/roller_4.1_dev/apps/planet/build.xml
    roller/branches/roller_4.1_dev/apps/weblogger/nbproject/project.xml
    roller/branches/roller_4.1_dev/apps/weblogger/properties.xmlf
    roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandler.java
    roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/rome.properties
    roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/sun-web.xml
    roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/web.xml

Modified: roller/branches/roller_4.1_dev/apps/planet/build.xml
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/planet/build.xml?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/planet/build.xml (original)
+++ roller/branches/roller_4.1_dev/apps/planet/build.xml Wed Oct 10 13:05:03 2007
@@ -85,7 +85,7 @@
         <include name="toplink-essentials-9.1/toplink-essentials.jar"/> -->
         
         <!-- needed for ROME -->
-        <include name="lib/rome-0.9.jar"/>
+        <include name="lib/rome-0.9.1-dev.jar"/>
         <include name="lib/rome-fetcher-0.9.jar"/>
         <include name="lib/jdom.jar"/>
         

Modified: roller/branches/roller_4.1_dev/apps/weblogger/nbproject/project.xml
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/nbproject/project.xml?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/nbproject/project.xml (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/nbproject/project.xml Wed Oct 10 13:05:03 2007
@@ -10,6 +10,16 @@
             </properties>
             <folders>
                 <source-folder>
+                    <label>web</label>
+                    <type>doc_root</type>
+                    <location>web</location>
+                </source-folder>
+                <source-folder>
+                    <label>WEB-INF</label>
+                    <type>web_inf</type>
+                    <location>web/WEB-INF</location>
+                </source-folder>
+                <source-folder>
                     <label>src/sql</label>
                     <type>java</type>
                     <location>src/sql</location>
@@ -24,16 +34,6 @@
                     <type>java</type>
                     <location>test/java</location>
                 </source-folder>
-                <source-folder>
-                    <label>web</label>
-                    <type>doc_root</type>
-                    <location>web</location>
-                </source-folder>
-                <source-folder>
-                    <label>WEB-INF</label>
-                    <type>web_inf</type>
-                    <location>web/WEB-INF</location>
-                </source-folder>
             </folders>
             <ide-actions>
                 <action name="build">
@@ -122,7 +122,7 @@
                 <package-root>src/java</package-root>
                 <package-root>test/java</package-root>
                 <package-root>src/sql</package-root>
-                <classpath mode="compile">../../tools/lib/commons-betwixt-1.0-beta-1.jar:../../tools/lib/commons-codec-1.3.jar:../../tools/lib/commons-collections-3.2.jar:../../tools/lib/commons-digester-1.6.jar:../../tools/lib/commons-id-0.1-SNAPSHOT.jar:../../tools/lib/commons-lang-2.1.jar:../../tools/lib/commons-logging-1.0.4.jar:../../tools/lib/concurrent-1.3.2.jar:../../tools/lib/guice-1.0.jar:../../tools/lib/jaxen-full.jar:../../tools/lib/jdom.jar:../../tools/lib/log4j-1.2.11.jar:../../tools/lib/lucene-1.4.3.jar:../../tools/lib/rome-0.9.jar:../../tools/lib/rome-fetcher-0.9.jar:../../tools/lib/saxpath.jar:../../tools/lib/taglibs-string.jar:../../tools/lib/velocity-1.5.jar:../../tools/hibernate-3.1/hibernate3.jar:../../tools/openjpa-0.9.7/geronimo-j2ee-connector_1.5_spec-1.0.1.jar:../../tools/openjpa-0.9.7/geronimo-jpa_3.0_spec-1.0.jar:../../tools/openjpa-0.9.7/geronimo-jta_1.0.1B_spec-1.0.1.jar:../../tools/openjpa-0.9.7/openjpa-0.9.7-incubating.jar:../../tools/openjpa-0
 .9.7/serp-1.11.0.jar:../../tools/xmlrpc-3.0/lib/ws-commons-util-1.0.1.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-client-3.0.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-common-3.0.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-server-3.0.jar:../../tools/spring-1.2/acegi-security-1.0.3.jar:../../tools/spring-1.2/spring.jar:../../tools/roller-core/roller-core.jar:../../tools/roller-planet/roller-planet-business.jar:../../tools/struts-1.2.4/lib/antlr.jar:../../tools/struts-1.2.4/lib/commons-beanutils.jar:../../tools/struts-1.2.4/lib/commons-digester.jar:../../tools/struts-1.2.4/lib/commons-validator.jar:../../tools/struts-1.2.4/lib/jakarta-oro.jar:../../tools/struts-1.2.4/lib/struts-el.jar:../../tools/struts-1.2.4/lib/struts.jar:../../tools/buildtime/tomcat-5.0.28/jsp-api.jar:../../tools/buildtime/tomcat-5.0.28/servlet-api.jar:../../tools/buildtime/activation.jar:../../tools/buildtime/mail.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/jstl.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/ser
 ializer.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/standard.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/xalan.jar:../../tools/buildtime/junit-4.1.jar:../../tools/buildtime/ant-1.7.0/ant.jar:../../tools/buildtime/derbyclient.jar:../../tools/buildtime/derby.jar:../../tools/buildtime/derbyclient.jar:../../tools/buildtime/derbynet.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner-servlet.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner-struts.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner.jar:../../tools/buildtime/mockrunner-0.35/lib/nekohtml.jar:../../tools/struts-2.0.9/lib/antlr-2.7.2.jar:../../tools/struts-2.0.9/lib/commons-beanutils-1.6.jar:../../tools/struts-2.0.9/lib/commons-chain-1.1.jar:../../tools/struts-2.0.9/lib/commons-fileupload-1.2.jar:../../tools/struts-2.0.9/lib/commons-io-1.3.1.jar:../../tools/struts-2.0.9/lib/commons-validator-1.3.0.jar:../../tools/struts-2.0.9/lib/freemarker-2.3.8.jar:../../tools/struts-2.0.9/lib/ognl-2.
 6.11.jar:../../tools/struts-2.0.9/lib/oro-2.0.8.jar:../../tools/struts-2.0.9/lib/struts2-core-2.0.9.jar:../../tools/struts-2.0.9/lib/struts2-spring-plugin-2.0.9.jar:../../tools/struts-2.0.9/lib/struts2-tiles-plugin-2.0.9.jar:../../tools/struts-2.0.9/lib/tiles-api-2.0.4.jar:../../tools/struts-2.0.9/lib/tiles-core-2.0.4.jar:../../tools/struts-2.0.9/lib/tiles-jsp-2.0.4.jar:../../tools/struts-2.0.9/lib/xwork-2.0.4.jar:../../tools/lib/commons-httpclient-3.0.1.jar</classpath>
+                <classpath mode="compile">../../tools/lib/commons-betwixt-1.0-beta-1.jar:../../tools/lib/commons-codec-1.3.jar:../../tools/lib/commons-collections-3.2.jar:../../tools/lib/commons-digester-1.6.jar:../../tools/lib/commons-id-0.1-SNAPSHOT.jar:../../tools/lib/commons-lang-2.1.jar:../../tools/lib/commons-logging-1.0.4.jar:../../tools/lib/concurrent-1.3.2.jar:../../tools/lib/guice-1.0.jar:../../tools/lib/jaxen-full.jar:../../tools/lib/jdom.jar:../../tools/lib/log4j-1.2.11.jar:../../tools/lib/lucene-1.4.3.jar:../../tools/lib/rome-fetcher-0.9.jar:../../tools/lib/saxpath.jar:../../tools/lib/taglibs-string.jar:../../tools/lib/velocity-1.5.jar:../../tools/hibernate-3.1/hibernate3.jar:../../tools/openjpa-0.9.7/geronimo-j2ee-connector_1.5_spec-1.0.1.jar:../../tools/openjpa-0.9.7/geronimo-jpa_3.0_spec-1.0.jar:../../tools/openjpa-0.9.7/geronimo-jta_1.0.1B_spec-1.0.1.jar:../../tools/openjpa-0.9.7/openjpa-0.9.7-incubating.jar:../../tools/openjpa-0.9.7/serp-1.11.0.jar:../../to
 ols/xmlrpc-3.0/lib/ws-commons-util-1.0.1.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-client-3.0.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-common-3.0.jar:../../tools/xmlrpc-3.0/lib/xmlrpc-server-3.0.jar:../../tools/spring-1.2/acegi-security-1.0.3.jar:../../tools/spring-1.2/spring.jar:../../tools/roller-core/roller-core.jar:../../tools/roller-planet/roller-planet-business.jar:../../tools/struts-1.2.4/lib/antlr.jar:../../tools/struts-1.2.4/lib/commons-beanutils.jar:../../tools/struts-1.2.4/lib/commons-digester.jar:../../tools/struts-1.2.4/lib/commons-validator.jar:../../tools/struts-1.2.4/lib/jakarta-oro.jar:../../tools/struts-1.2.4/lib/struts-el.jar:../../tools/struts-1.2.4/lib/struts.jar:../../tools/buildtime/tomcat-5.0.28/jsp-api.jar:../../tools/buildtime/tomcat-5.0.28/servlet-api.jar:../../tools/buildtime/activation.jar:../../tools/buildtime/mail.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/jstl.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/serializer.jar:../../tools/jakar
 ta-taglibs-standard-1.1.2/lib/standard.jar:../../tools/jakarta-taglibs-standard-1.1.2/lib/xalan.jar:../../tools/buildtime/junit-4.1.jar:../../tools/buildtime/ant-1.7.0/ant.jar:../../tools/buildtime/derbyclient.jar:../../tools/buildtime/derby.jar:../../tools/buildtime/derbyclient.jar:../../tools/buildtime/derbynet.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner-servlet.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner-struts.jar:../../tools/buildtime/mockrunner-0.35/lib/mockrunner.jar:../../tools/buildtime/mockrunner-0.35/lib/nekohtml.jar:../../tools/struts-2.0.9/lib/antlr-2.7.2.jar:../../tools/struts-2.0.9/lib/commons-beanutils-1.6.jar:../../tools/struts-2.0.9/lib/commons-chain-1.1.jar:../../tools/struts-2.0.9/lib/commons-fileupload-1.2.jar:../../tools/struts-2.0.9/lib/commons-io-1.3.1.jar:../../tools/struts-2.0.9/lib/commons-validator-1.3.0.jar:../../tools/struts-2.0.9/lib/freemarker-2.3.8.jar:../../tools/struts-2.0.9/lib/ognl-2.6.11.jar:../../tools/struts-2
 .0.9/lib/oro-2.0.8.jar:../../tools/struts-2.0.9/lib/struts2-core-2.0.9.jar:../../tools/struts-2.0.9/lib/struts2-spring-plugin-2.0.9.jar:../../tools/struts-2.0.9/lib/struts2-tiles-plugin-2.0.9.jar:../../tools/struts-2.0.9/lib/tiles-api-2.0.4.jar:../../tools/struts-2.0.9/lib/tiles-core-2.0.4.jar:../../tools/struts-2.0.9/lib/tiles-jsp-2.0.4.jar:../../tools/struts-2.0.9/lib/xwork-2.0.4.jar:../../tools/lib/commons-httpclient-3.0.1.jar:../../tools/lib/rome-0.9.1-dev.jar:../../tools/lib/rome-propono-0.7.jar</classpath>
                 <source-level>1.5</source-level>
             </compilation-unit>
         </java-data>

Modified: roller/branches/roller_4.1_dev/apps/weblogger/properties.xmlf
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/properties.xmlf?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/properties.xmlf (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/properties.xmlf Wed Oct 10 13:05:03 2007
@@ -97,7 +97,8 @@
     <include name="jdom.jar"/>
     <include name="lucene-1.4.3.jar"/>
     <include name="log4j-1.2.11.jar"/>
-    <include name="rome-0.9.jar"/>
+    <include name="rome-0.9.1-dev.jar"/>
+    <include name="rome-propono-0.7.jar"/>
     <include name="rome-fetcher-0.9.jar"/>
     <include name="velocity-1.5.jar"/>
     <include name="guice-1.0.jar"/>

Modified: roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandler.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandler.java?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandler.java (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandler.java Wed Oct 10 13:05:03 2007
@@ -16,10 +16,10 @@
 * directory of this distribution.
 */
 package org.apache.roller.weblogger.webservices.atomprotocol;
+import com.sun.syndication.propono.atom.server.AtomRequest;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.InputStream;
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Date;
@@ -27,6 +27,8 @@
 import java.util.List;
 import java.util.StringTokenizer;
 import java.util.Collections;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import javax.activation.MimetypesFileTypeMap;
 import javax.servlet.http.HttpServletRequest;
 import org.apache.commons.codec.binary.Base64;
@@ -49,7 +51,20 @@
 import com.sun.syndication.feed.atom.Feed;
 import com.sun.syndication.feed.atom.Link;
 import com.sun.syndication.feed.atom.Person;
+import com.sun.syndication.propono.atom.common.AtomService;
+import com.sun.syndication.propono.atom.common.Categories;
+import com.sun.syndication.propono.atom.common.Workspace;
+import com.sun.syndication.propono.atom.common.rome.AppModule;
+import com.sun.syndication.propono.atom.common.rome.AppModuleImpl;
+import com.sun.syndication.propono.atom.server.AtomException;
+import com.sun.syndication.propono.atom.server.AtomHandler;
+import com.sun.syndication.propono.atom.server.AtomMediaResource;
+import com.sun.syndication.propono.atom.server.AtomNotAuthorizedException;
+import com.sun.syndication.propono.atom.server.AtomNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.text.SimpleDateFormat;
+import java.util.Collection;
 import java.util.Comparator;
 import java.util.Map;
 import java.util.SortedSet;
@@ -60,7 +75,6 @@
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.FileIOException;
 import org.apache.roller.weblogger.business.URLStrategy;
-import org.apache.roller.weblogger.business.UserManager;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
 import org.apache.roller.weblogger.business.WeblogEntryManager;
@@ -73,7 +87,7 @@
 import org.apache.roller.weblogger.util.cache.CacheManager;
 
 /**
- * Weblogger's ROME-based Atom Protocol implementation.
+ * Weblogger's ROME Propono-based Atom Protocol implementation.
  * 
  * Each Weblogger workspace has two collections, one that accepts entries and 
  * that accepts everything. The entries collection represents the weblog 
@@ -108,7 +122,6 @@
  *    Individual resource data (i.e. media-edit URI)
  * 
  * </pre>
- * 
  * @author David M Johnson
  */
 public class RollerAtomHandler implements AtomHandler {
@@ -169,112 +182,15 @@
      * Return Atom service document for site, getting blog-name from pathInfo.
      * The workspace will contain collections for entries, categories and resources.
      */
-    public AtomService getIntrospection() throws AtomException {
-        log.debug("Entering");
-        AtomService service = new AtomService();
-        List perms = null;
+    public AtomService getAtomService(AtomRequest areq) throws AtomException {
         try {
-            perms = roller.getUserManager().getWeblogPermissions(user);
-        } catch (WebloggerException re) {
-            throw new AtomException("Getting user's weblogs", re);
-        }
-        List uploadAccepts = new ArrayList();
-        try {           
-            uploadAccepts = getAcceptedContentTypeRange();
-        } catch (WebloggerException re) {
-            throw new AtomException("Getting site's accept range", re);
+            return new RollerAtomService(user, atomURL);
+        } catch (WebloggerException ex) {
+            log.error("Unable to create Service Document", ex);
+            throw new AtomException("ERROR creating Service Document", ex);
         }
-        if (perms != null) {
-            for (Iterator iter=perms.iterator(); iter.hasNext();) {
-                WeblogPermission perm = (WeblogPermission)iter.next();
-                Weblog weblog = null;
-                Workspace workspace = null;
-                try {  
-
-                    // Create workspace to represent weblog
-                    workspace = new Workspace(
-                        Utilities.removeHTML(perm.getWeblog().getName()), "text");
-                    service.addWorkspace(workspace);
-
-                    // Create collection for entries within that workspace
-                    Collection entryCol = new Collection("Weblog Entries", "text", 
-                        atomURL+"/"+weblog.getHandle()+"/entries");
-                    entryCol.addAccept("application/atom+xml;type=entry");
-                    
-                    // Add fixed categories using scheme that points to 
-                    // weblog because categories are weblog specific
-                    weblog = perm.getWeblog();
-                    Categories cats = new Categories();
-                    cats.setFixed(true);
-                    cats.setScheme(getWeblogCategoryScheme(weblog));
-                    List rollerCats = roller.getWeblogEntryManager().getWeblogCategories(weblog, false);
-                    for (Iterator it = rollerCats.iterator(); it.hasNext();) {
-                        WeblogCategory rollerCat = (WeblogCategory)it.next();
-                        Category cat = new Category();
-                        cat.setTerm(rollerCat.getPath().substring(1));
-                        cat.setLabel(rollerCat.getName());
-                        cats.addCategory(cat);
-                    } 
-                    entryCol.addCategories(cats);
-                    
-                    // Add tags as free-form categories using scheme that points
-                    // to site because tags can be considered site-wide
-                    Categories tags = new Categories();
-                    tags.setFixed(false);
-                    entryCol.addCategories(tags);
-                    
-                    workspace.addCollection(entryCol);
-                    
-                } catch (Exception e) {
-                    throw new AtomException("Fetching weblog categories");
-                }                               
-
-                // Add media collection for upload dir
-                Collection uploadCol = new Collection("Media Files", "text", 
-                    atomURL+"/"+weblog.getHandle()+"/resources/");
-                uploadCol.setAccepts(uploadAccepts);
-                workspace.addCollection(uploadCol);
-
-                // And add one media collection for each of weblog's upload sub-directories
-                ThemeResource[] dirs;
-                try {
-                    dirs = roller.getFileManager().getDirectories(weblog);
-                    for (int i=0; i<dirs.length; i++) {
-                        Collection uploadSubCol = new Collection(
-                            "Media Files: " + dirs[i].getPath(), "text",
-                            atomURL+"/"+weblog.getHandle()+"/resources/" + dirs[i].getPath());
-                        uploadSubCol.setAccepts(uploadAccepts);
-                        workspace.addCollection(uploadSubCol);
-                    }
-                } catch (FilePathException fpe) {
-                    throw new AtomException("Getting uploads directories information", fpe);
-                } catch (FileNotFoundException fnfe) {
-                    throw new AtomException("Getting uploads directories information", fnfe);
-                }
-
-            }
-        }
-        log.debug("Exiting");
-        return service;
     }
-    
-    /**
-     * Build accept range by taking things that appear to be content-type rules 
-     * from site's file-upload allowed extensions.
-     */
-    private List getAcceptedContentTypeRange() throws WebloggerException {
-        List accepts = new ArrayList();
-        Weblogger roller = WebloggerFactory.getWeblogger();
-        Map config = roller.getPropertiesManager().getProperties();        
-        String allows = ((RuntimeConfigProperty)config.get("uploads.types.allowed")).getValue();
-        String[] rules = StringUtils.split(StringUtils.deleteWhitespace(allows), ",");
-        for (int i=0; i<rules.length; i++) {
-            if (rules[i].indexOf("/") == -1) continue;
-            accepts.add(rules[i]);
-        }
-        return accepts;             
-    }   
-    
+     
     //----------------------------------------------------------------- collections
     
     /**
@@ -287,11 +203,12 @@
      *    /<blog-name>/resources/offset
      * </pre>
      */
-    public Feed getCollection(String[] pathInfo) throws AtomException {
+    public Feed getCollection(AtomRequest areq) throws AtomException {
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         if (pathInfo.length > 0 && pathInfo[1].equals("entries")) {
-            return getCollectionOfEntries(pathInfo);
+            return getCollectionOfEntries(areq);
         } else if (pathInfo.length > 0 && pathInfo[1].equals("resources")) {
-            return getCollectionOfResources(pathInfo);
+            return getCollectionOfResources(areq);
         }
         throw new AtomNotFoundException("Cannot find collection specified");
     }
@@ -299,8 +216,9 @@
     /**
      * Helper method that returns collection of entries, called by getCollection().
      */
-    public Feed getCollectionOfEntries(String[] pathInfo) throws AtomException {
+    public Feed getCollectionOfEntries(AtomRequest areq) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             int start = 0;
             int max = maxEntries;
@@ -393,8 +311,9 @@
      *   /handle/resources/offset
      *   /handle/resources/path/offset
      */
-    public Feed getCollectionOfResources(String[] rawPathInfo) throws AtomException {
+    public Feed getCollectionOfResources(AtomRequest areq) throws AtomException {
         log.debug("Entering");
+        String[] rawPathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             int start = 0;
             int max = maxEntries;
@@ -499,8 +418,9 @@
     /**
      * Create entry in the entry collection (a Weblogger blog has only one).
      */
-    public Entry postEntry(String[] pathInfo, Entry entry) throws AtomException {
+    public String postEntry(AtomRequest areq, Entry entry) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             // authenticated client posted a weblog entry
             String handle = pathInfo[0];
@@ -529,19 +449,29 @@
                 roller.getIndexManager().addEntryReIndexOperation(rollerEntry);
             }
             
+            Entry newEntry = createAtomEntry(rollerEntry);
+            for (Iterator it = newEntry.getOtherLinks().iterator(); it.hasNext();) {
+                Link link = (Link)it.next();
+                if ("edit".equals(link.getRel())) {
+                    log.debug("Exiting");
+                    return link.getHrefResolved();
+                }
+            }
+            log.error("ERROR: no edit link found in saved media entry");
             log.debug("Exiting");
-            return createAtomEntry(rollerEntry);
 
         } catch (WebloggerException re) {
             throw new AtomException("Posting entry", re);
         }
+        throw new AtomException("Posting entry");
     }
     
     /**
      * Retrieve entry, URI like this /blog-name/entry/id
      */
-    public Entry getEntry(String[] pathInfo) throws AtomException {
+    public Entry getEntry(AtomRequest areq) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             if (pathInfo.length > 2) // URI is /blogname/entries/entryid
             {
@@ -578,8 +508,9 @@
     /**
      * Expects pathInfo of form /blog-name/resource/path/name
      */
-    public AtomMediaResource getMediaResource(String[] pathInfo) throws AtomException {
+    public AtomMediaResource getMediaResource(AtomRequest areq) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             // authenticated client posted a weblog entry
             File tempFile = null;
@@ -594,7 +525,11 @@
                     // Parse pathinfo to determine file path
                     String filePath = filePathFromPathInfo(pathInfo);
                     ThemeResource resource = fmgr.getFile(website, filePath);                    
-                    return new AtomMediaResource(resource);
+                    return new AtomMediaResource(
+                            resource.getName(), 
+                            resource.getLength(),
+                            new Date(resource.getLastModified()),
+                            resource.getInputStream());
                 } catch (Exception e) {
                     throw new AtomException(
                         "Unexpected error during file upload", e);
@@ -610,8 +545,9 @@
     /**
      * Update entry, URI like this /blog-name/entry/id
      */
-    public Entry putEntry(String[] pathInfo, Entry entry) throws AtomException {
+    public void putEntry(AtomRequest areq, Entry entry) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             if (pathInfo.length == 3) // URI is /blogname/entries/entryid
             {
@@ -636,7 +572,7 @@
                         roller.getIndexManager().addEntryReIndexOperation(rollerEntry);
                     }
                     log.debug("Exiting");
-                    return createAtomEntry(rollerEntry);
+                    return;
                 }
                 throw new AtomNotAuthorizedException("ERROR not authorized to update entry");
             }
@@ -650,8 +586,9 @@
     /**
      * Delete entry, URI like this /blog-name/entry/id
      */
-    public void deleteEntry(String[] pathInfo) throws AtomException {
+    public void deleteEntry(AtomRequest areq) throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         try {
             if (pathInfo.length > 2) {
                 if (pathInfo[1].equals("entry")) // URI is /blogname/entry/entryid
@@ -707,11 +644,20 @@
      * TODO: do we need to handle mutli-part MIME uploads?
      * TODO: use Jakarta Commons File-upload?
      */
-    public Entry postMedia(String[] pathInfo,
-            String title, String slug, String contentType, InputStream is)
+    public String postMedia(AtomRequest areq, Entry entry)
             throws AtomException {
         log.debug("Entering");
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
+
         try {
+            // get incoming slug from HTTP header
+            String slug = areq.getHeader("Slug");
+
+            Content content = (Content)entry.getContents().get(0); 
+            String contentType = content.getType();
+            InputStream is = areq.getInputStream();
+            String title = entry.getTitle() != null ? entry.getTitle() : slug;
+            
             // authenticated client posted a weblog entry
             File tempFile = null;
             String handle = pathInfo[0];
@@ -740,9 +686,17 @@
                     
                     ThemeResource resource = fmgr.getFile(website, path + fileName);
                     
-                    log.debug("Exiting");
-                    return createAtomResourceEntry(website, resource);
-
+                    
+                    Entry mediaEntry = createAtomResourceEntry(website, resource);
+                    for (Iterator it = mediaEntry.getOtherLinks().iterator(); it.hasNext();) {
+                        Link link = (Link)it.next();
+                        if ("edit".equals(link.getRel())) {
+                            log.debug("Exiting");
+                            return link.getHrefResolved();
+                        }
+                    }
+                    log.error("ERROR: no edit link found in saved media entry");
+                    
                 } catch (FileIOException fie) {
                     throw new AtomException(
                         "File upload disabled, over-quota or other error", fie);
@@ -753,10 +707,12 @@
                     if (tempFile != null) tempFile.delete();
                 }
             }
-            throw new AtomException("Incorrect path information");
+            throw new AtomException("Error saving media entry");
         
         } catch (WebloggerException re) {
-            throw new AtomException("Posting media");
+            throw new AtomException("Posting media", re);
+        } catch (IOException ioe) {
+            throw new AtomException("Posting media", ioe);
         }
     }
     
@@ -835,9 +791,12 @@
      * Update resource specified by pathInfo using data from input stream.
      * Expects pathInfo of form /blog-name/resource/path/name
      */
-    public Entry putMedia(String[] pathInfo,
-            String contentType, InputStream is) throws AtomException {
-        try {
+    public void putMedia(AtomRequest areq) throws AtomException {
+       String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
+       String contentType = areq.getContentType();
+       try {
+            InputStream is = areq.getInputStream();
+     
             // authenticated client posted a weblog entry
             File tempFile = null;
             String handle = pathInfo[0];
@@ -866,7 +825,6 @@
                     fis.close();
                     
                     log.debug("Exiting");
-                    return createAtomResourceEntry(website, resource);
 
                 } catch (FileIOException fie) {
                     throw new AtomException(
@@ -882,6 +840,8 @@
         
         } catch (WebloggerException re) {
             throw new AtomException("Posting media");
+        } catch (IOException ioe) {
+            throw new AtomException("Posting media", ioe);
         }
 
     }
@@ -891,7 +851,8 @@
     /**
      * True if URL is the introspection URI.
      */
-    public boolean isIntrospectionURI(String[] pathInfo) {
+    public boolean isAtomServiceURI(AtomRequest areq) {
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         if (pathInfo.length==0) return true;
         return false;
     }
@@ -899,7 +860,8 @@
     /**
      * True if URL is a entry URI.
      */
-    public boolean isEntryURI(String[] pathInfo) {
+    public boolean isEntryURI(AtomRequest areq) {
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         if (pathInfo.length > 2 && pathInfo[1].equals("entry")) return true;
         if (pathInfo.length > 2 && pathInfo[1].equals("resource") && pathInfo[pathInfo.length-1].endsWith(".media-link")) return true;
         return false;
@@ -908,7 +870,8 @@
     /**
      * True if URL is media edit URI. Media can be udpated, but not metadata.
      */
-    public boolean isMediaEditURI(String[] pathInfo) {
+    public boolean isMediaEditURI(AtomRequest areq) {
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         if (pathInfo.length > 1 && pathInfo[1].equals("resource")) return true;
         return false;
     }
@@ -916,13 +879,19 @@
     /**
      * True if URL is a collection URI of any sort.
      */
-    public boolean isCollectionURI(String[] pathInfo) {
+    public boolean isCollectionURI(AtomRequest areq) {
+        String[] pathInfo = StringUtils.split(areq.getPathInfo(),"/");
         if (pathInfo.length > 1 && pathInfo[1].equals("entries")) return true;
         if (pathInfo.length > 1 && pathInfo[1].equals("resources")) return true;
         if (pathInfo.length > 1 && pathInfo[1].equals("categories")) return true;
         return false;
     }
     
+    public boolean isCategoriesURI(AtomRequest arg0) {
+        return false;
+    }
+
+    
     //------------------------------------------------------------------ permissions
     
     /**
@@ -1095,7 +1064,7 @@
         // Add Atom category for Weblogger category, using category scheme
         List categories = new ArrayList();
         Category atomCat = new Category();
-        atomCat.setScheme(getWeblogCategoryScheme(entry.getWebsite()));
+        atomCat.setScheme(RollerAtomService.getWeblogCategoryScheme(entry.getWebsite()));
         atomCat.setTerm(entry.getCategory().getPath().substring(1));
         categories.add(atomCat);
         
@@ -1231,7 +1200,8 @@
             for (int i=0; i<categories.size(); i++) {
                 Category cat = (Category)categories.get(i);
                 
-                if (cat.getScheme() != null && cat.getScheme().equals(getWeblogCategoryScheme(rollerEntry.getWebsite()))) {                
+                if (cat.getScheme() != null && cat.getScheme().equals(
+                        RollerAtomService.getWeblogCategoryScheme(rollerEntry.getWebsite()))) {
                     String catString = cat.getTerm();
                     if (catString != null) {
                         WeblogCategory rollerCat =
@@ -1264,11 +1234,10 @@
         }
         rollerEntry.setTagsAsString(tags);        
     }
-        
-    private String getWeblogCategoryScheme(Weblog website) {
-        return WebloggerFactory.getWeblogger().getUrlStrategy().getWeblogURL(website, null, true);
-    }
     
+    public Categories getCategories(AtomRequest arg0) throws AtomException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
 
     private String filePathFromPathInfo(String[] pathInfo) {
         String path = null;

Added: roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandlerFactory.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandlerFactory.java?rev=583599&view=auto
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandlerFactory.java (added)
+++ roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomHandlerFactory.java Wed Oct 10 13:05:03 2007
@@ -0,0 +1,35 @@
+/*   
+ * Copyright 2007 Sun Microsystems, Inc.
+ * 
+ * Licensed 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.
+ */ 
+package org.apache.roller.weblogger.webservices.atomprotocol;
+
+import com.sun.syndication.propono.atom.server.AtomHandlerFactory;
+import com.sun.syndication.propono.atom.server.AtomHandler;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Extends {@link com.sun.syndication.propono.atom.server.AtomHandlerFactory} to create and return 
+ * {@link com.sun.syndication.propono.atom.server.impl.FileBasedAtomHandler}.
+ */
+public class RollerAtomHandlerFactory extends AtomHandlerFactory {
+    
+    /**
+     * Create new AtomHandler.
+     */
+    public AtomHandler newAtomHandler( HttpServletRequest req ) {
+        return new RollerAtomHandler(req);
+    }    
+}
+      

Added: roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java?rev=583599&view=auto
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java (added)
+++ roller/branches/roller_4.1_dev/apps/weblogger/src/java/org/apache/roller/weblogger/webservices/atomprotocol/RollerAtomService.java Wed Oct 10 13:05:03 2007
@@ -0,0 +1,155 @@
+/*
+ * Copyright 2007 Sun Microsystems, Inc.
+ *
+ * Licensed 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.
+ */
+package org.apache.roller.weblogger.webservices.atomprotocol;
+
+import com.sun.syndication.feed.atom.Category;
+import com.sun.syndication.propono.atom.common.AtomService;
+import com.sun.syndication.propono.atom.common.Categories;
+import com.sun.syndication.propono.atom.common.Collection;
+import com.sun.syndication.propono.atom.common.Workspace;
+import com.sun.syndication.propono.atom.server.AtomException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
+import org.apache.commons.lang.StringUtils;
+import org.apache.roller.weblogger.WebloggerException;
+import org.apache.roller.weblogger.business.FilePathException;
+import org.apache.roller.weblogger.business.Weblogger;
+import org.apache.roller.weblogger.business.WebloggerFactory;
+import org.apache.roller.weblogger.pojos.RuntimeConfigProperty;
+import org.apache.roller.weblogger.pojos.ThemeResource;
+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.WeblogPermission;
+import org.apache.roller.weblogger.util.Utilities;
+
+
+/**
+ * Roller's Atom service.
+ */
+public class RollerAtomService extends AtomService {
+
+    private Map workspaceMap = new TreeMap();
+    private Map collectionMap = new TreeMap();
+    private static Properties cacheProps = new Properties();
+    private boolean firstTime = true;
+
+    /**
+     * Creates a new instance of FileBasedAtomService.
+     */
+    public RollerAtomService(User user, String atomURL) throws WebloggerException, AtomException {
+        Weblogger roller = WebloggerFactory.getWeblogger();
+        List perms = null;
+        try {
+            perms = roller.getUserManager().getWeblogPermissions(user);
+        } catch (WebloggerException re) {
+            throw new AtomException("Getting user's weblogs", re);
+        }
+        List uploadAccepts = new ArrayList();
+        try {
+            uploadAccepts = getAcceptedContentTypeRange();
+        } catch (WebloggerException re) {
+            throw new AtomException("Getting site's accept range", re);
+        }
+        if (perms != null) {
+            for (Iterator iter = perms.iterator(); iter.hasNext();) {
+                WeblogPermission perm = (WeblogPermission) iter.next();
+                Weblog weblog = perm.getWeblog();
+                Workspace workspace = null;
+                try {
+
+                    // Create workspace to represent weblog
+                    workspace = new Workspace(Utilities.removeHTML(perm.getWeblog().getName()), "text");
+                    addWorkspace(workspace);
+
+                    // Create collection for entries within that workspace
+                    Collection entryCol = new Collection("Weblog Entries", "text", atomURL + "/" + weblog.getHandle() + "/entries");
+                    entryCol.addAccept("application/atom+xml;type=entry");
+
+                    // Add fixed categories using scheme that points to
+                    // weblog because categories are weblog specific
+                    weblog = perm.getWeblog();
+                    Categories cats = new Categories();
+                    cats.setFixed(true);
+                    cats.setScheme(getWeblogCategoryScheme(weblog));
+                    List rollerCats = roller.getWeblogEntryManager().getWeblogCategories(weblog, false);
+                    for (Iterator it = rollerCats.iterator(); it.hasNext();) {
+                        WeblogCategory rollerCat = (WeblogCategory) it.next();
+                        Category cat = new Category();
+                        cat.setTerm(rollerCat.getPath().substring(1));
+                        cat.setLabel(rollerCat.getName());
+                        cats.addCategory(cat);
+                    }
+                    entryCol.addCategories(cats);
+
+                    // Add tags as free-form categories using scheme that points
+                    // to site because tags can be considered site-wide
+                    Categories tags = new Categories();
+                    tags.setFixed(false);
+                    entryCol.addCategories(tags);
+
+                    workspace.addCollection(entryCol);
+                } catch (Exception e) {
+                    throw new AtomException("Creating weblog entry collection for service doc", e);
+                }
+
+                // Add media collection for upload dir
+                Collection uploadCol = new Collection("Media Files", "text", atomURL + "/" + weblog.getHandle() + "/resources/");
+                uploadCol.setAccepts(uploadAccepts); 
+                workspace.addCollection(uploadCol);
+
+                // And add one media collection for each of weblog's upload sub-directories
+                ThemeResource[] dirs;
+                try {
+                    dirs = roller.getFileManager().getDirectories(weblog);
+                    for (int i = 0; i < dirs.length; i++) {
+                        Collection uploadSubCol = new Collection("Media Files: " + dirs[i].getPath(), "text", atomURL + "/" + weblog.getHandle() + "/resources/" + dirs[i].getPath());
+                        uploadSubCol.setAccepts(uploadAccepts); 
+                        workspace.addCollection(uploadSubCol);
+                    }
+                } catch (FilePathException fpe) {
+                    throw new AtomException("Creating weblog entry collection for service doc", fpe);
+                }
+            }
+        }
+    }
+    
+    /**
+     * Build accept range by taking things that appear to be content-type rules 
+     * from site's file-upload allowed extensions.
+     */
+    private List getAcceptedContentTypeRange() throws WebloggerException {
+        List accepts = new ArrayList();
+        Weblogger roller = WebloggerFactory.getWeblogger();
+        Map config = roller.getPropertiesManager().getProperties();        
+        String allows = ((RuntimeConfigProperty)config.get("uploads.types.allowed")).getValue();
+        String[] rules = StringUtils.split(StringUtils.deleteWhitespace(allows), ",");
+        for (int i=0; i<rules.length; i++) {
+            if (rules[i].indexOf("/") == -1) continue;
+            accepts.add(rules[i]);
+        }
+        return accepts;             
+    }      
+            
+    public static String getWeblogCategoryScheme(Weblog website) {
+        return WebloggerFactory.getWeblogger().getUrlStrategy().getWeblogURL(website, null, true);
+    }
+}
+

Added: roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/propono.properties
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/propono.properties?rev=583599&view=auto
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/propono.properties (added)
+++ roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/propono.properties Wed Oct 10 13:05:03 2007
@@ -0,0 +1,2 @@
+com.sun.syndication.propono.atom.server.AtomHandlerFactory=\
+org.apache.roller.weblogger.webservices.atomprotocol.RollerAtomHandlerFactory

Modified: roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/rome.properties
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/rome.properties?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/rome.properties (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/classes/rome.properties Wed Oct 10 13:05:03 2007
@@ -51,15 +51,4 @@
 
 rss_1.0.item.ModuleGenerator.classes =com.sun.syndication.io.impl.DCModuleGenerator \
                                       org.apache.roller.planet.util.rome.ContentModuleGenerator
-                                  
-# Handle Atom Pub Protocol pubcontrol extension
-                                      
-atom_1.0.item.ModuleParser.classes   =org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
-
-atom_1.0.item.ModuleGenerator.classes =org.apache.roller.weblogger.webservices.atomprotocol.AppModuleGenerator
-                                  
-
-
-
-
               

Modified: roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/sun-web.xml
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/sun-web.xml?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/sun-web.xml (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/sun-web.xml Wed Oct 10 13:05:03 2007
@@ -10,8 +10,8 @@
     </session-config>
 
     <resource-ref>
-        <res-ref-name>jdbc/rollerdb</res-ref-name>
-        <jndi-name>jdbc/rollerdb</jndi-name>
+        <res-ref-name>jdbc/SocialFish/RollerDB</res-ref-name>
+        <jndi-name>jdbc/SocialFish/RollerDB</jndi-name>
     </resource-ref>
     
     <resource-ref>

Modified: roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/web.xml?rev=583599&r1=583598&r2=583599&view=diff
==============================================================================
--- roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/web.xml (original)
+++ roller/branches/roller_4.1_dev/apps/weblogger/web/WEB-INF/web.xml Wed Oct 10 13:05:03 2007
@@ -298,7 +298,7 @@
     
     <servlet>
         <servlet-name>AtomServlet</servlet-name>
-        <servlet-class>org.apache.roller.weblogger.webservices.atomprotocol.AtomServlet</servlet-class>
+        <servlet-class>com.sun.syndication.propono.atom.server.AtomServlet</servlet-class>
     </servlet>
     
     <servlet>
@@ -539,7 +539,7 @@
 
     <!-- jndi resources -->
     <resource-ref>
-        <res-ref-name>jdbc/rollerdb</res-ref-name>
+        <res-ref-name>jdbc/SocialFish/RollerDB</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>

Added: roller/branches/roller_4.1_dev/tools/lib/rome-0.9.1-dev.jar
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/tools/lib/rome-0.9.1-dev.jar?rev=583599&view=auto
==============================================================================
Binary file - no diff available.

Propchange: roller/branches/roller_4.1_dev/tools/lib/rome-0.9.1-dev.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: roller/branches/roller_4.1_dev/tools/lib/rome-propono-0.7.jar
URL: http://svn.apache.org/viewvc/roller/branches/roller_4.1_dev/tools/lib/rome-propono-0.7.jar?rev=583599&view=auto
==============================================================================
Binary file - no diff available.

Propchange: roller/branches/roller_4.1_dev/tools/lib/rome-propono-0.7.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



Mime
View raw message