Author: kylem
Date: Tue Jan  4 15:30:48 2005
New Revision: 124170

URL: http://svn.apache.org/viewcvs?view=rev&rev=124170
Log:
Initial checkpoint of work towards support for XML-based persistance of 
Controls using the
java.beans.XMLEncoder persistence framework included as part of the JDK.  
Includes a 
PersistenceDelegate implementation for Controls that has optimized support for 
encoding all
instance-level properties, as well as any relationship to an 
AnnotatedElementMap (i.e. field
or class level annotations).  Still to be done are persistance of any 
associated impl, its
nested controls, and reconstruction of listener relationships.

Added:
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlPersistenceDelegate.java
Modified:
   
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java
   
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java
   
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java
   
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo

Modified: 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java&r1=124169&p2=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java
    (original)
+++ 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java
    Tue Jan  4 15:30:48 2005
@@ -139,6 +139,15 @@
     }
 
     /**
+     * Returns a delegate base property map from which values will be derived 
if not found within
+     * the local property map.
+     */
+    public PropertyMap getDelegateMap()
+    {
+        return _delegateMap;
+    }
+
+    /**
      * Returns the property value specified by 'key' within this map.
      */
     public Object getProperty(PropertyKey key)

Modified: 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java&r1=124169&p2=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java
    (original)
+++ 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BeanPropertyMap.java
    Tue Jan  4 15:30:48 2005
@@ -24,6 +24,7 @@
 import java.lang.reflect.Proxy;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Set;
 import java.util.Iterator;
 
 
@@ -174,6 +175,13 @@
         //
         return super.containsPropertySet(propertySet);
     }
+
+    /**
+     * Returns the set of PropertyKeys that are locally set in this property 
map. Note:
+     * this <b>does not</b> include any properties that might be set as a 
result of
+     * property lookup delegation.
+     */
+    public Set<PropertyKey> getPropertyKeys() { return _properties.keySet(); }
 
     // local default annotation value, only set if annot constructor form is 
used
     Annotation _annot;

Modified: 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java&r1=124169&p2=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java
        (original)
+++ 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyKey.java
        Tue Jan  4 15:30:48 2005
@@ -105,6 +105,11 @@
 
     public int hashCode() { return _hashCode; }
 
+    public String toString() 
+    { 
+        return "PropertyKey: " + _propertySet.getName() + "." + _propertyName; 
+    }
+
     public Class<? extends Annotation>  getPropertySet()  { return  
_propertySet; }
     public String   getPropertyName() { return _propertyName; }
     public Class    getPropertyType() { return _propertyType; }

Modified: 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java&r1=124169&p2=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java
        (original)
+++ 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/PropertyMap.java
        Tue Jan  4 15:30:48 2005
@@ -49,6 +49,12 @@
     public void setDelegateMap(PropertyMap delegateMap);
 
     /**
+     * Returns a delegate base property map from which values will be derived 
if not found within
+     * the local property map.
+     */
+    public PropertyMap getDelegateMap();
+
+    /**
      * Sets the property specifed by 'key' within this map.
      */
     public void setProperty(PropertyKey key, Object value);

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java&r1=124169&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
      (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
      Tue Jan  4 15:30:48 2005
@@ -658,7 +658,7 @@
     /**
      * Returns the property map containing the properties for the bean
      */
-    /* package */ PropertyMap getPropertyMap()
+    /* package */ BeanPropertyMap getPropertyMap()
     {
         return _properties;
     }
@@ -889,7 +889,7 @@
     /**
      *  Contains the per-instance properties set for this ControlBean.
      */
-    private PropertyMap _properties;
+    private BeanPropertyMap _properties;
 
     /** END unsynchronized fields */
 

Added: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlPersistenceDelegate.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlPersistenceDelegate.java?view=auto&rev=124170
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlPersistenceDelegate.java
       Tue Jan  4 15:30:48 2005
@@ -0,0 +1,180 @@
+package org.apache.beehive.controls.runtime.bean;
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+
+import java.beans.BeanInfo;
+import java.beans.DefaultPersistenceDelegate;
+import java.beans.Encoder;
+import java.beans.Expression;
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PersistenceDelegate;
+import java.beans.PropertyDescriptor;
+import java.beans.Statement;
+import java.util.Set;
+
+import org.apache.beehive.controls.api.ControlException;
+import org.apache.beehive.controls.api.properties.AnnotatedElementMap;
+import org.apache.beehive.controls.api.properties.BeanPropertyMap;
+import org.apache.beehive.controls.api.properties.PropertyKey;
+import org.apache.beehive.controls.api.properties.PropertyMap;
+
+/**
+ * The ControlPersistenceDelegate class supports the XML persistance of 
Control JavaBeans by
+ * implementing the <code>java.beans.PersistenceDelegate</b> API, and 
overriding the default
+ * persistance algorithm based upon the runtime structure for Controls.
+ * <p>
+ * The ControlPersistanceDelegate class implements optimized property 
persistence based upon the
+ * fact that the ControlBean already has a map containing all non-default 
property state.  Rather
+ * than using the standard (and slower) algorithm of comparing the encoding 
instance against a
+ * 'clean' instance, the delegate can simply retrieve the map and persist the 
values contained
+ * within it.
+ * <p>
+ * <b>STILL TO BE IMPLEMENTED ARE SUPPORT FOR LISTENER, IMPL INSTANCE, AND 
NESTED CONTROL
+ * ENCODING<b>
+ */
+public class ControlPersistenceDelegate extends DefaultPersistenceDelegate
+{
+    /**
+     * The AnnotatedElementMapPersistenceDelegate is an XMLEncoder 
PersistenceDelegate for
+     * the 
<code>org.apache.beehive.controls.api.properties.AnnotatedElementMap</code>
+     * class.
+     */
+    private class AnnotatedElementMapPersistenceDelegate extends 
PersistenceDelegate
+    {
+        protected Expression instantiate(Object oldInstance, Encoder out)
+        {
+            AnnotatedElementMap aem = (AnnotatedElementMap)oldInstance;
+            return new Expression(aem, aem.getClass(), "new",
+                                  new Object [] { aem.getAnnotatedElement() });
+        }   
+    }
+
+    protected Expression instantiate(Object oldInstance, Encoder out)
+    {
+        System.err.println("ControlPersistenceDelegate instantiate(): " + 
oldInstance);
+        ControlBean control = (ControlBean)oldInstance;
+
+        //
+        // See if the ControlBean has any associated PropertyMap in its 
delegation chain
+        // that was derived from an AnnotatedElement so this relationship (and 
any associated 
+        // external config delegates) will be restored as part of the decoding 
process.
+        //
+        // BUGBUG: What about a user-created PropertyMap that was passed into 
the constructor?
+        //
+        AnnotatedElementMap aem = null;
+        PropertyMap pMap = control.getPropertyMap();
+        while (pMap != null)
+        {
+            if (pMap instanceof AnnotatedElementMap)
+            {
+                aem = (AnnotatedElementMap)pMap;
+
+                //
+                // Ensure that there is a persistance delegate for the map
+                //
+                out.setPersistenceDelegate(AnnotatedElementMap.class, 
+                        new AnnotatedElementMapPersistenceDelegate());
+                break;
+            }
+
+            pMap = pMap.getDelegateMap();
+        }
+
+
+        //
+        // Create a constructor that that uses the following form:
+        //      new <BeanClass>(ControlBeanContext cbc, String id, PropertyMap 
map)
+        // The context is set to null, so the current active container context 
will be
+        // used, the id will be the ID of the original control and the map 
will be
+        // any AnnotatedElementMap that was passed into the original 
constructor.
+        //
+        return new Expression(control, control.getClass(), "new", 
+                              new Object [] {null, control.getLocalID(), aem});
+    }
+
+    /**
+     * PersistenceDelegate.initialize()
+     */
+    protected void initialize(Class<?> type, Object oldInstance, Object 
newInstance, Encoder out)
+    {
+        System.err.println("ControlPersistenceDelegate initialize(): " + 
oldInstance);
+
+        //
+        // Get the bean and associated beanInfo for the source instance
+        //
+        ControlBean control = (ControlBean)oldInstance;
+        BeanInfo beanInfo;
+        try
+        {
+            beanInfo = Introspector.getBeanInfo(control.getClass());
+        }
+        catch (IntrospectionException ie)
+        {
+            throw new ControlException("Unable to locate BeanInfo", ie);
+        }
+        //super.initialize(type, control, newInstance, out);
+
+        //
+        // The default implementation of property persistance will use 
BeanInfo to incrementally
+        // compare oldInstance property values to newInstance property values. 
  Because the
+        // bean instance PropertyMap holds only the values that have been 
modified, this process
+        // can be optimized by directly writing out only the properties found 
in the map.
+        //
+        BeanPropertyMap beanMap = control.getPropertyMap();
+        PropertyDescriptor [] propDescriptors = 
beanInfo.getPropertyDescriptors();
+        for (PropertyKey pk : beanMap.getPropertyKeys())
+        {
+            //
+            // Locate the PropertyDescriptor for the modified property, and 
use it to write
+            // the property value to the encoder stream
+            //
+            String propName = pk.getPropertyName();
+            boolean found = false;
+            for (int i = 0; i < propDescriptors.length; i++)
+            {
+                if (propName.equals(propDescriptors[i].getName()))
+                {
+                    found = true;
+
+                    // Only write the property if it is not flagged as 
transient
+                    Object transientVal = 
propDescriptors[i].getValue("transient");
+                    if (transientVal == null || 
transientVal.equals(Boolean.FALSE))
+                    {
+                        out.writeStatement(
+                            new Statement(oldInstance, 
+                                      
propDescriptors[i].getWriteMethod().getName(),
+                                      new Object [] 
{beanMap.getProperty(pk)}));
+                    }
+                }
+            }
+            if (found == false)
+            {
+                throw new ControlException("Unknown property in bean 
PropertyMap: " + pk);
+            }
+        }
+    }
+
+    /**
+     * PersistenceDelegate.writeObject()
+     */
+    public void writeObject(Object oldInstance, Encoder out)
+    {
+        super.writeObject(oldInstance, out);
+    }
+}

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm&r1=124169&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
       (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
       Tue Jan  4 15:30:48 2005
@@ -63,6 +63,7 @@
 import java.util.HashMap;
 
 import org.apache.beehive.controls.api.ControlException;
+import org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate;
 
 public class ${bean.shortName}BeanInfo 
 #if ($intf.superClass)
@@ -90,6 +91,16 @@
             bd.setName("$bean.shortName");
             bd.setDisplayName("$bean.shortName");
         #end
+        
+        //
+        // The 
org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate class
+        // implements the XMLDecode delegation model for all Control JavaBean 
types. It
+        // provides optimized XML persistance based upon the Control runtime 
architecture.
+        // The 'persistenceDelegate' attribute of a BeanDescriptor is used by 
XMLEncoder to 
+        // locate a delegate for a particular JavaBean type.
+        //
+        bd.setValue("persistenceDelegate", new ControlPersistenceDelegate());
+
         return bd;
     }
 

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java&r1=124169&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/util/ControlIntrospector.java
  Tue Jan  4 15:30:48 2005
@@ -160,17 +160,24 @@
                 SortedSet<String> sortedNames = new TreeSet<String>(); 
                 while (attrNames.hasMoreElements()) 
                     sortedNames.add(attrNames.nextElement()); 
-                printf("<attributes>"); 
+                printf("<attributes>\n"); 
                 indent(); 
                 { 
                     for (String attrName: sortedNames) 
                     { 
+                        // Convert the attribute value to a String, but drop 
any object ID
+                        // that is going to fail an equivalence comparison
+                        String attrValue = 
featureDesc.getValue(attrName).toString();
+                        int atIndex = attrValue.indexOf('@');
+                        if (atIndex > 0)
+                            attrValue = attrValue.substring(0, atIndex+1);
+
                         printf("<attribute name=\"%s\" value=\"%s\">\n", 
-                               attrName, 
featureDesc.getValue(attrName.toString())); 
+                               attrName, attrValue);
                     } 
                 } 
                 unindent(); 
-                printf("</attributes>"); 
+                printf("</attributes>\n"); 
             } 
         } 
         unindent(); 

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo&r1=124169&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
        (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
        Tue Jan  4 15:30:48 2005
@@ -8,6 +8,9 @@
             <short-description>
                 
             </short-description>
+            <attributes>
+                <attribute name="persistenceDelegate" 
value="org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate@">
+            </attributes>
         </feature-descriptor>
         <bean-class>
             org.apache.beehive.controls.test.controls.beaninfo.InfoTestBean

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo&r1=124169&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
     Tue Jan  4 15:30:48 2005
@@ -8,6 +8,9 @@
             <short-description>
                 Ext1Bean
             </short-description>
+            <attributes>
+                <attribute name="persistenceDelegate" 
value="org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate@">
+            </attributes>
         </feature-descriptor>
         <bean-class>
             org.apache.beehive.controls.test.controls.inherit.Ext1Bean

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo&r1=124169&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
     Tue Jan  4 15:30:48 2005
@@ -8,6 +8,9 @@
             <short-description>
                 Ext2Bean
             </short-description>
+            <attributes>
+                <attribute name="persistenceDelegate" 
value="org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate@">
+            </attributes>
         </feature-descriptor>
         <bean-class>
             org.apache.beehive.controls.test.controls.inherit.Ext2Bean

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo&r1=124169&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
    (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
    Tue Jan  4 15:30:48 2005
@@ -8,6 +8,9 @@
             <short-description>
                 Intf1Bean
             </short-description>
+            <attributes>
+                <attribute name="persistenceDelegate" 
value="org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate@">
+            </attributes>
         </feature-descriptor>
         <bean-class>
             org.apache.beehive.controls.test.controls.inherit.Intf1Bean

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo?view=diff&rev=124170&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo&r1=124169&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo&r2=124170
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
    (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
    Tue Jan  4 15:30:48 2005
@@ -8,6 +8,9 @@
             <short-description>
                 Intf2Bean
             </short-description>
+            <attributes>
+                <attribute name="persistenceDelegate" 
value="org.apache.beehive.controls.runtime.bean.ControlPersistenceDelegate@">
+            </attributes>
         </feature-descriptor>
         <bean-class>
             org.apache.beehive.controls.test.controls.inherit.Intf2Bean

Reply via email to