beehive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ky...@apache.org
Subject svn commit: r124170 - in incubator/beehive/trunk/controls: src/api/org/apache/beehive/controls/api/properties src/runtime/org/apache/beehive/controls/runtime/bean src/runtime/org/apache/beehive/controls/runtime/generator test/src/controls/org/apache/beehive/controls/test/controls/util test/src/units/org/apache/beehive/controls/test/java/beaninfo test/src/units/org/apache/beehive/controls/test/java/inherit
Date Tue, 04 Jan 2005 23:30:50 GMT
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

Mime
View raw message