Author: jsong
Date: Mon Oct 11 19:01:45 2004
New Revision: 54642

Added:
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControl.java
   (contents, props changed)
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControlImpl.jcs
   (contents, props changed)
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveFeatureInfo.java
   (contents, props changed)
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/DriveFeatureInfo.java
   (contents, props changed)
Log:
Add controls, drivers and junit tests for controls packaging.
checkin.tests passed on WinXP.
code reviewed by Nikhil Gore.


Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControl.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControl.java
      Mon Oct 11 19:01:45 2004
@@ -0,0 +1,40 @@
+package org.apache.beehive.controls.test.controls.packaging;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.packaging.FeatureInfo;
+import org.apache.beehive.controls.api.packaging.FeatureAttribute;
+
+/**
+ * A control interface with FeatureInfo annotations
+ */
+
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+       displayName="A Control to test packaging",
+       shortDescription="This control is to test control packaging",
+       isExpert=true,
+       isHidden=true,
+       isPreferred=true,
+       attributes={
+               
@FeatureAttribute(name="FirstFeatureOfThisControl",value="valueOf the first 
feature"),
+               
@FeatureAttribute(name="SecondFeatureOfThisControl",value="valueOf the second 
feature")
+       }
+
+       )
+public interface FeatureInfoControl
+{
+
+    @FeatureInfo(
+               displayName="The only method on this control",
+               shortDescription="The feature info about the method on the 
control",
+               isExpert=true,
+               isHidden=true,
+               isPreferred=true,
+               attributes={
+                       
@FeatureAttribute(name="FirstFeatureOfThisMethod",value="valueOf the first 
feature of the method"),
+                       
@FeatureAttribute(name="SecondFeatureOfThisMethod",value="valueOf the second 
feature of the method")
+               }
+
+       )
+    public String hello(String input);
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControlImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/packaging/FeatureInfoControlImpl.jcs
   Mon Oct 11 19:01:45 2004
@@ -0,0 +1,15 @@
+package org.apache.beehive.controls.test.controls.packaging;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+
+/**
+ * A simple control impl
+ */
[EMAIL PROTECTED] 
+public class FeatureInfoControlImpl implements FeatureInfoControl
+{
+    public String hello(String input)
+    {
+       return input;
+    }
+}

Added: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveFeatureInfo.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveFeatureInfo.java
   Mon Oct 11 19:01:45 2004
@@ -0,0 +1,74 @@
+package org.apache.beehive.controls.test.driver.packaging;
+
+import 
org.apache.beehive.controls.test.controls.packaging.FeatureInfoControlBeanBeanInfo;
+import java.beans.BeanDescriptor;
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/* This class contains the logic to test FeatureInfo annotation of control 
packaging.
+ *
+ * FeatureInfo annotations on control interface shall be written into control 
beaninfo
+ * class during control packaging process.
+ * The tests in this class will get feature info from control beaninfo class in
+ * order to make sure this part of packaging process works fine.
+ */
+
+public class DriveFeatureInfo
+{
+
+       /*Gets class level feature info from Hello2ControlBeanBeanInfo class*/
+       public Report doGetClassLevelFeatureInfo(){
+
+               Report report=new Report();
+
+               FeatureInfoControlBeanBeanInfo hello2BeanInfo=new 
FeatureInfoControlBeanBeanInfo();
+               BeanDescriptor descriptor=hello2BeanInfo.getBeanDescriptor();
+               String name=descriptor.getName();
+               String displayName=descriptor.getDisplayName();
+               String shortDescription=descriptor.getShortDescription();
+               boolean isExpert=descriptor.isExpert();
+               boolean isHidden=descriptor.isHidden();
+               boolean isPreferred=descriptor.isPreferred();
+
+               if (!name.equals("FeatureInfoControlBean")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control name is wrong:"+name);
+                       return report;
+               }
+
+               if (!displayName.equals("A Control to test packaging")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control displaName is 
wrong:"+displayName);
+                       return report;
+               }
+
+               if (!shortDescription.equals("This control is to test control 
packaging")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control description is 
wrong:"+shortDescription);
+                       return report;
+               }
+
+               if (!isExpert){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isExpert is FALSE");
+                       return report;
+               }
+
+               if (!isHidden){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isHidden is FALSE");
+                       return report;
+               }
+
+               if (!isPreferred){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isPreferred is FALSE");
+                       return report;
+               }
+
+               report.setStatus(Report.PASS);
+
+               return report;
+
+       }
+
+}

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/DriveFeatureInfo.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/DriveFeatureInfo.java
       Mon Oct 11 19:01:45 2004
@@ -0,0 +1,74 @@
+package org.apache.beehive.controls.test.driver.packaging;
+
+import 
org.apache.beehive.controls.test.controls.packaging.FeatureInfoControlBeanBeanInfo;
+import java.beans.BeanDescriptor;
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/* This class contains the logic to test FeatureInfo annotation of control 
packaging.
+ *
+ * FeatureInfo annotations on control interface shall be written into control 
beaninfo
+ * class during control packaging process.
+ * The tests in this class will get feature info from control beaninfo class in
+ * order to make sure this part of packaging process works fine.
+ */
+
+public class DriveFeatureInfo
+{
+
+       /*Gets class level feature info from Hello2ControlBeanBeanInfo class*/
+       public Report doGetClassLevelFeatureInfo(){
+
+               Report report=new Report();
+
+               FeatureInfoControlBeanBeanInfo hello2BeanInfo=new 
FeatureInfoControlBeanBeanInfo();
+               BeanDescriptor descriptor=hello2BeanInfo.getBeanDescriptor();
+               String name=descriptor.getName();
+               String displayName=descriptor.getDisplayName();
+               String shortDescription=descriptor.getShortDescription();
+               boolean isExpert=descriptor.isExpert();
+               boolean isHidden=descriptor.isHidden();
+               boolean isPreferred=descriptor.isPreferred();
+
+               if (!name.equals("FeatureInfoControlBean")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control name is wrong:"+name);
+                       return report;
+               }
+
+               if (!displayName.equals("A Control to test packaging")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control displaName is 
wrong:"+displayName);
+                       return report;
+               }
+
+               if (!shortDescription.equals("This control is to test control 
packaging")){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("Control description is 
wrong:"+shortDescription);
+                       return report;
+               }
+
+               if (!isExpert){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isExpert is FALSE");
+                       return report;
+               }
+
+               if (!isHidden){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isHidden is FALSE");
+                       return report;
+               }
+
+               if (!isPreferred){
+                       report.setStatus(Report.FAIL);
+                       report.setMessage("isPreferred is FALSE");
+                       return report;
+               }
+
+               report.setStatus(Report.PASS);
+
+               return report;
+
+       }
+
+}

Reply via email to