[jboss-svn-commits] JBL Code SVN: r20119 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 22 22:03:20 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-05-22 22:03:20 -0400 (Thu, 22 May 2008)
New Revision: 20119

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
Log:
JBRULES-1612 WebDAV - adding in content length

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2008-05-22 23:14:40 UTC (rev 20118)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2008-05-23 02:03:20 UTC (rev 20119)
@@ -98,6 +98,29 @@
     }
 
     /**
+     * returns the number of bytes of the content.
+     */
+    public long getContentLength() {
+		try {
+			Node ruleNode = getVersionContentNode();
+			if (ruleNode.hasProperty( CONTENT_PROPERTY_BINARY_NAME )) {
+				   Property data = ruleNode.getProperty( CONTENT_PROPERTY_BINARY_NAME );
+				   return data.getLength();
+			} else {
+	            if ( ruleNode.hasProperty( CONTENT_PROPERTY_NAME ) ) {
+	                Property data = ruleNode.getProperty( CONTENT_PROPERTY_NAME );
+	                return data.getLength();
+	            } else {
+	                return 0;
+	            }
+			}
+		} catch (RepositoryException e) {
+			log.error(e);
+			throw new RulesRepositoryException(e);
+		}
+    }
+
+    /**
      * True if this is a binary asset (or has binary content).
      */
     public boolean isBinary() {

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2008-05-22 23:14:40 UTC (rev 20118)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2008-05-23 02:03:20 UTC (rev 20119)
@@ -60,6 +60,24 @@
         }
     }
 
+    public void testGetContentLength() throws Exception {
+        RulesRepository repo = getRepo();
+        PackageItem pkg = repo.loadDefaultPackage();
+        AssetItem asset = pkg.addAsset("testGetContentLength", "");
+        assertEquals(0, asset.getContentLength());
+        asset.updateContent("boo");
+        asset.checkin("");
+        assertEquals("boo".getBytes().length, asset.getContentLength() );
+
+        asset = pkg.addAsset("testGetContentLength2", "");
+        assertEquals(0, asset.getContentLength());
+        asset.updateBinaryContentAttachment(new ByteArrayInputStream("foobar".getBytes()));
+        asset.checkin("");
+        assertEquals("foobar".getBytes().length, asset.getContentLength());
+
+
+    }
+
     public void testGetPackageItem() throws Exception {
         RulesRepository repo = getRepo();
         PackageItem def = repo.loadDefaultPackage();




More information about the jboss-svn-commits mailing list