[jboss-svn-commits] JBoss Common SVN: r4460 - in shrinkwrap/trunk: impl-base/src/main/java/org/jboss/shrinkwrap/impl/base and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun May 30 00:11:55 EDT 2010


Author: ALRubinger
Date: 2010-05-30 00:11:53 -0400 (Sun, 30 May 2010)
New Revision: 4460

Modified:
   shrinkwrap/trunk/api/src/main/java/org/jboss/shrinkwrap/api/Archive.java
   shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/MemoryMapArchiveBase.java
   shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java
   shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/test/ArchiveTestBase.java
Log:
[SHRINKWRAP-172] Add Archive.contains(String)

Modified: shrinkwrap/trunk/api/src/main/java/org/jboss/shrinkwrap/api/Archive.java
===================================================================
--- shrinkwrap/trunk/api/src/main/java/org/jboss/shrinkwrap/api/Archive.java	2010-05-30 04:02:13 UTC (rev 4459)
+++ shrinkwrap/trunk/api/src/main/java/org/jboss/shrinkwrap/api/Archive.java	2010-05-30 04:11:53 UTC (rev 4460)
@@ -174,6 +174,16 @@
     * @throws IllegalArgumentException If the path is not specified
     */
    boolean contains(ArchivePath path) throws IllegalArgumentException;
+   
+   /**
+    * Denotes whether this archive contains a resource at the specified
+    * path
+    * 
+    * @param path
+    * @return
+    * @throws IllegalArgumentException If the path is not specified
+    */
+   boolean contains(String path) throws IllegalArgumentException;
 
    /**
     * Removes the asset in the archive at the specified Path.  If the path

Modified: shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/MemoryMapArchiveBase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/MemoryMapArchiveBase.java	2010-05-30 04:02:13 UTC (rev 4459)
+++ shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/MemoryMapArchiveBase.java	2010-05-30 04:11:53 UTC (rev 4460)
@@ -222,6 +222,18 @@
       return found;
    }
 
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.shrinkwrap.api.Archive#contains(java.lang.String)
+    */
+   @Override
+   public boolean contains(final String path) throws IllegalArgumentException
+   {
+      Validate.notNull(path, "Path must be specified");
+      final ArchivePath archivePath = ArchivePaths.create(path);
+      return this.contains(archivePath);
+   }
+
    /** 
     * {@inheritDoc}
     * @see org.jboss.shrinkwrap.api.Archive#delete(org.jboss.declarchive.api.ArchivePath)

Modified: shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java	2010-05-30 04:02:13 UTC (rev 4459)
+++ shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java	2010-05-30 04:11:53 UTC (rev 4460)
@@ -257,6 +257,17 @@
       return archive.contains(path);
    }
    
+   /**
+    * {@inheritDoc}
+    * @see org.jboss.shrinkwrap.api.Archive#contains(java.lang.String)
+    */
+   @Override
+   public boolean contains(final String path) throws IllegalArgumentException
+   {
+      Validate.notNull(path, "Path must be specified");
+      return this.contains(ArchivePaths.create(path));
+   }
+
    /* (non-Javadoc)
     * @see org.jboss.declarchive.api.Archive#delete(org.jboss.declarchive.api.Path)
     */

Modified: shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/test/ArchiveTestBase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/test/ArchiveTestBase.java	2010-05-30 04:02:13 UTC (rev 4459)
+++ shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/test/ArchiveTestBase.java	2010-05-30 04:11:53 UTC (rev 4460)
@@ -344,6 +344,31 @@
       TestCase.assertTrue(message + path2, archive.contains(path2));
       TestCase.assertTrue(message + path3, archive.contains(path3));
    }
+   
+   /**
+    * Ensures that {@link Archive#contains(String)}
+    * works as expected
+    */
+   @Test
+   public void testContainsPathAsString(){
+      final Archive<T> archive = getArchive();
+      final String path = "testpath";
+      archive.add(EmptyAsset.INSTANCE,path);
+      Assert.assertTrue("Archive should contain the path added",archive.contains(path));
+   }
+   
+   /**
+    * Ensures that {@link Archive#contains(ArchivePath)}
+    * works as expected
+    */
+   @Test
+   public void testContainsPathAsArchivePath()
+   {
+      final Archive<T> archive = getArchive();
+      final ArchivePath path = ArchivePaths.create("testpath");
+      archive.add(EmptyAsset.INSTANCE, path);
+      Assert.assertTrue("Archive should contain the path added", archive.contains(path));
+   }
 
    /**
     * Ensure deleting an asset successfully removes asset from storage



More information about the jboss-svn-commits mailing list