Return-Path: Delivered-To: apmail-roller-commits-archive@www.apache.org Received: (qmail 21389 invoked from network); 12 Sep 2007 20:59:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Sep 2007 20:59:52 -0000 Received: (qmail 4345 invoked by uid 500); 12 Sep 2007 20:59:45 -0000 Delivered-To: apmail-roller-commits-archive@roller.apache.org Received: (qmail 4310 invoked by uid 500); 12 Sep 2007 20:59:45 -0000 Mailing-List: contact commits-help@roller.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@roller.apache.org Delivered-To: mailing list commits@roller.apache.org Received: (qmail 4301 invoked by uid 99); 12 Sep 2007 20:59:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Sep 2007 13:59:45 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Sep 2007 21:01:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4F6A51A983E; Wed, 12 Sep 2007 13:59:20 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r575075 - in /roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol: Collection.java RollerAtomHandler.java Date: Wed, 12 Sep 2007 20:59:19 -0000 To: commits@roller.apache.org From: snoopdave@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070912205920.4F6A51A983E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: snoopdave Date: Wed Sep 12 13:59:19 2007 New Revision: 575075 URL: http://svn.apache.org/viewvc?rev=575075&view=rev Log: Fix for http://opensource.atlassian.com/projects/roller/browse/ROL-1533 - Now uses multiple elements for resource collections Modified: roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/Collection.java roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java Modified: roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/Collection.java URL: http://svn.apache.org/viewvc/roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/Collection.java?rev=575075&r1=575074&r2=575075&view=diff ============================================================================== --- roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/Collection.java (original) +++ roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/Collection.java Wed Sep 12 13:59:19 2007 @@ -43,6 +43,7 @@ private String listTemplate = null; private String href = null; private List categories = new ArrayList(); // of Categories objects + private List accepts = new ArrayList(); // of Strings /** * Collection MUST have title and href. @@ -59,12 +60,16 @@ /** * Comma separated list of media-ranges accepted by collection. */ - public String getAccept() { - return accept; + public List getAccepts() { + return accepts; } - public void setAccept(String accept) { - this.accept = accept; + public void addAccept(String accept) { + this.accepts.add(accept); + } + + public void setAccepts(List accepts) { + this.accepts = accepts; } /** The URI of the collection */ @@ -116,7 +121,7 @@ } else if (entry && entryType.equals(accept)) { return true; } else { - String[] rules = accept.split(","); + String[] rules = (String[])accepts.toArray(new String[accepts.size()]); for (int i=0; i 0) { + for (Iterator it = acceptElems.iterator(); it.hasNext();) { + Element acceptElem = (Element)it.next(); + collection.addAccept(acceptElem.getTextTrim()); + } } // Loop to parse element to Categories objects Modified: roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java URL: http://svn.apache.org/viewvc/roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java?rev=575075&r1=575074&r2=575075&view=diff ============================================================================== --- roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java (original) +++ roller/branches/roller_3.1/src/org/apache/roller/webservices/atomprotocol/RollerAtomHandler.java Wed Sep 12 13:59:19 2007 @@ -69,7 +69,7 @@ import org.apache.roller.pojos.WeblogEntryTagData; import org.apache.roller.pojos.WeblogResource; import org.apache.roller.util.URLUtilities; -import org.apache.roller.util.cache.CacheManager; +import org.apache.roller.util.cache.CacheManager; /** * Roller's Atom Protocol implementation. @@ -177,9 +177,9 @@ } catch (RollerException re) { throw new AtomException("ERROR: getting user's weblogs", re); } - String accept = null; + List uploadAccepts = new ArrayList(); try { - accept = getAcceptedContentTypeRange(); + uploadAccepts = getAcceptedContentTypeRange(); } catch (RollerException re) { throw new AtomException("ERROR: getting site's accept range", re); } @@ -193,7 +193,7 @@ Collection entryCol = new Collection("Weblog Entries", "text", URLUtilities.getAtomProtocolURL(true)+"/"+handle+"/entries"); - entryCol.setAccept("application/atom+xml;type=entry"); + entryCol.addAccept("application/atom+xml;type=entry"); entryCol.setHref(URLUtilities.getAtomProtocolURL(true)+"/"+handle+"/entries"); try { // Add fixed categories using scheme that points to @@ -224,7 +224,7 @@ Collection uploadCol = new Collection("Media Files", "text", URLUtilities.getAtomProtocolURL(true)+"/"+handle+"/resources/"); - uploadCol.setAccept(accept); + uploadCol.setAccepts(uploadAccepts); uploadCol.setHref(URLUtilities.getAtomProtocolURL(true)+"/"+handle+"/resources"); workspace.addCollection(uploadCol); } @@ -236,20 +236,17 @@ * Build accept range by taking things that appear to be content-type rules * from site's file-upload allowed extensions. */ - private String getAcceptedContentTypeRange() throws RollerException { - StringBuffer sb = new StringBuffer(); + private List getAcceptedContentTypeRange() throws RollerException { + List accepts = new ArrayList(); Roller roller = RollerFactory.getRoller(); Map config = roller.getPropertiesManager().getProperties(); String allows = ((RollerPropertyData)config.get("uploads.types.allowed")).getValue(); String[] rules = StringUtils.split(StringUtils.deleteWhitespace(allows), ","); for (int i=0; i