Author: jsong
Date: Mon Apr 11 11:09:04 2005
New Revision: 160931

URL: http://svn.apache.org/viewcvs?view=rev&rev=160931
Log:
Contributed by Joe Pemberton.  Add support for webapp metadata in TCH.


Modified:
    
incubator/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd
    
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/AntProperties.java
    
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/Filter.java
    
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/PropertyNames.java
    
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/TestMetadataTask.java

Modified: 
incubator/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd?view=diff&r1=160930&r2=160931
==============================================================================
--- 
incubator/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd
 (original)
+++ 
incubator/beehive/trunk/controls/test/tools/tch/deploy/schema/everything-suite.xsd
 Mon Apr 11 11:09:04 2005
@@ -571,6 +571,11 @@
       />
       <xs:element
         minOccurs="0"
+        name="webapps"
+        type="webappsType"
+      />
+      <xs:element
+        minOccurs="0"
         name="misc"
         type="miscType"
       />
@@ -746,6 +751,23 @@
     </xs:restriction>
   </xs:simpleType>
    <!-- end frequency definition -->
+
+  <xs:simpleType name="webappsOptions">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="controlsWeb"/>
+      <xs:enumeration value="jmsControlWeb"/>
+      <xs:enumeration value="testWeb"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="webappsList">
+    <xs:list itemType="webappsOptions"/>
+  </xs:simpleType>
+  <xs:simpleType name="webappsType">
+    <xs:restriction base="webappsList">
+      <xs:minLength value="0"/>
+      <xs:maxLength value="3"/>
+    </xs:restriction>
+  </xs:simpleType>
 
   <xs:simpleType name="serverModeOptions">
     <xs:restriction base="xs:string">

Modified: 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/AntProperties.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/AntProperties.java?view=diff&r1=160930&r2=160931
==============================================================================
--- 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/AntProperties.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/AntProperties.java
 Mon Apr 11 11:09:04 2005
@@ -695,6 +695,24 @@
       return null;
   }
 
+  public static Collection getWebappsListFilter()
+  {
+    String s =
+      getGlobalProperty(appendTch(TCH_FILTER_WEBAPPS_PROPERTY));
+    if (s != null)
+    {
+      // also accept '+' as delimter because the cc setup sucks.
+      String delimiter = DELIMITER;
+      if (s.indexOf('+') > -1)
+        delimiter = "+";
+      Collection rtn = new HashSet();
+      TchUtils.parseStringToStrings(s, delimiter, rtn);
+      return rtn;
+    }
+    else
+      return null;
+  }
+
   public static Collection getCRListFilter()
   {
     String s = getGlobalProperty(appendTch(TCH_FILTER_CRS_PROPERTY));

Modified: 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/Filter.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/Filter.java?view=diff&r1=160930&r2=160931
==============================================================================
--- 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/Filter.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/Filter.java
 Mon Apr 11 11:09:04 2005
@@ -32,6 +32,7 @@
 
   //Filterable quantities, can be null if not filtered
   private Integer filterTestLevel = null;
+  private Collection filterWebapps= null;
   private Collection filterFrequencies = null;
   private Collection filterServerModes = null;
   private Collection filterOwnerList = null;
@@ -60,6 +61,7 @@
     setStatus();
     setConversations();
     setFrequencies();
+    setWebapps();
     setServerModes();
     setTestLevel();
     setCRList();
@@ -116,6 +118,7 @@
         && passCondition()
         && passCRList()
         && passFrequencies()
+        && passWebapps()
         && passDomains()
         && passStatus()
         && passOwner()
@@ -244,6 +247,22 @@
       return true; //no filter
   }
 
+  private boolean passWebapps()
+  {
+    //Strict override
+    if (filterWebapps != null)
+    {
+      if (testMetadata.getWebapps() != null)
+        return checkWebapps(testMetadata.getWebapps());
+      else if (testSuiteMetadata.getWebapps() != null)
+        return checkWebapps(testSuiteMetadata.getWebapps());
+      else
+        return true;
+    }
+    else
+      return true; //no filter
+  }
+
   private boolean passDomains()
   {
     //Strict override
@@ -533,6 +552,11 @@
     return isSubset(inFrequencies, filterFrequencies);
   }
 
+  private boolean checkWebapps(Collection inWebapps)
+  {
+    return isSubset(inWebapps, filterWebapps);
+  }
+
   private boolean checkDBs(Collection inDBs)
   {
     // "any" cannot be mixed with other values, so just take first filter value
@@ -637,6 +661,11 @@
   private void setFrequencies()
   {
     filterFrequencies = AntProperties.getFrequenciesListFilter();
+  }
+
+  private void setWebapps()
+  {
+    filterWebapps = AntProperties.getWebappsListFilter();
   }
 
   private void setTestLevel()

Modified: 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/PropertyNames.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/PropertyNames.java?view=diff&r1=160930&r2=160931
==============================================================================
--- 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/PropertyNames.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/PropertyNames.java
 Mon Apr 11 11:09:04 2005
@@ -43,6 +43,7 @@
     TCH_FILTER_CRS_MATCH_ALL_PROPERTY = "filter.crs-match-all",
     TCH_FILTER_DOMAINS_PROPERTY = "filter.domains",
     TCH_FILTER_FREQUENCIES_PROPERTY = "filter.frequencies",
+    TCH_FILTER_WEBAPPS_PROPERTY = "filter.webapps",
     TCH_FILTER_MISC_PROPERTY = "filter.misc",
     TCH_FILTER_IGNORE_TEST_PROPERTY = "filter.silently-ignore",
     TCH_FILTER_KNOWN_FAILURES_PROPERTY = "filter.knownFailures",

Modified: 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/TestMetadataTask.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/TestMetadataTask.java?view=diff&r1=160930&r2=160931
==============================================================================
--- 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/TestMetadataTask.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/tools/tch/src/java/org/apache/beehive/test/tools/tch/core/TestMetadataTask.java
 Mon Apr 11 11:09:04 2005
@@ -44,6 +44,7 @@
   private Collection dbs = null;
 
   private String status = Filter.DEFAULT_STATUS;
+  private Collection webapps = null;
   private Collection frequencies = null;
   private Collection testLevels = null;
   private Collection serverModes = null;
@@ -234,6 +235,19 @@
     }
   }
 
+  public void addConfiguredWebapps(TextElement inWebapps)
+  {
+    if (inWebapps.getText() != null
+      && inWebapps.getText().trim().length() > 0)
+    {
+      webapps = new HashSet();
+      TchUtils.parseStringToStrings(
+        inWebapps.getText().trim(),
+        " ",
+        webapps);
+    }
+  }
+
   public void addConfiguredServermode(TextElement inServermodes)
   {
     if (inServermodes.getText() != null
@@ -316,6 +330,11 @@
   public Collection getFrequencies()
   {
     return frequencies;
+  }
+
+  public Collection getWebapps()
+  {
+    return webapps;
   }
 
   public Collection getServerModes()


Reply via email to