You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2010/01/04 17:01:37 UTC

svn commit: r895671 - in /incubator/chemistry/trunk/chemistry: chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java

Author: fguillaume
Date: Mon Jan  4 16:01:37 2010
New Revision: 895671

URL: http://svn.apache.org/viewvc?rev=895671&view=rev
Log:
Fix AtomPub send of entry with non-text content

Modified:
    incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java
    incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java

Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java?rev=895671&r1=895670&r2=895671&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-client/src/main/java/org/apache/chemistry/atompub/client/APPObjectEntry.java Mon Jan  4 16:01:37 2010
@@ -329,6 +329,7 @@
             // || mimeTypeLower.endsWith("/xml")) {
             // ...
         } else {
+            xw.attr("type", mimeType);
             // encode as base64
             xw.contentBase64(localContentStream.getStream());
         }

Modified: incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java?rev=895671&r1=895670&r2=895671&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-tests/src/main/java/org/apache/chemistry/test/BasicTestCase.java Mon Jan  4 16:01:37 2010
@@ -527,10 +527,12 @@
     }
 
     public void testUpdate() throws Exception {
-        byte[] blobBytes = "A file...\n".getBytes("UTF-8");
-        String filename = "doc.txt";
-        ContentStream cs = new SimpleContentStream(blobBytes,
-                "text/plain;charset=UTF-8", filename);
+        // a non-text content type (-> base64)
+        String string = "A file...\n";
+        byte[] blobBytes = string.getBytes("UTF-8");
+        String filename = "doc.gif";
+        ContentStream cs = new SimpleContentStream(blobBytes, "image/gif",
+                filename);
 
         // update a doc with a content stream
         ObjectEntry ob = spi.getObjectByPath("/folder 1/folder 2/doc 3", null);
@@ -538,6 +540,14 @@
         doc.setContentStream(cs);
         doc.setValue("title", "my doc 3");
         doc.save();
+        // refetch
+        doc = (Document) conn.getObject(spi.newObjectId(ob.getId()));
+        ContentStream cs2 = doc.getContentStream();
+        assertEquals("doc.gif", cs2.getFileName());
+        assertEquals("image/gif", cs2.getMimeType());
+        assertEquals(blobBytes.length, cs2.getLength());
+        byte[] array = IOUtils.toByteArray(cs2.getStream());
+        assertEquals(string, new String(array, "UTF-8"));
 
         // update a doc that doesn't have a content stream yet
         ob = spi.getObjectByPath("/folder 1/doc 1", null);