Author: kentam
Date: Wed Mar 2 17:58:57 2005
New Revision: 155998
URL: http://svn.apache.org/viewcvs?view=rev&rev=155998
Log:
BEEHIVE-144: runtime exception if a primitive property reset at time of
instantiate
Fixed handling of external property sets when used in initialization property
maps.
Modified:
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/properties/BaseMap.java
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/instantiate/TestInstantiate.java
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&r1=155997&r2=155998
==============================================================================
---
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
Wed Mar 2 17:58:57 2005
@@ -22,6 +22,7 @@
import org.apache.beehive.controls.api.bean.ControlBean;
import org.apache.beehive.controls.api.bean.ControlExtension;
import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.bean.ExternalPropertySets;
/**
* The BaseMap class provide an abstract base PropertyMap class from which
other
@@ -113,6 +114,24 @@
if (declaringClass != null &&
declaringClass.isAssignableFrom(checkClass))
return true;
+
+ // External property sets have no declaring class
+ if (declaringClass == null)
+ {
+ ExternalPropertySets eps = (ExternalPropertySets)
checkClass.getAnnotation(ExternalPropertySets.class);
+ if (eps != null)
+ {
+ Class[] propSets = eps.value();
+ if (propSets != null)
+ {
+ for (Class ps : propSets)
+ {
+ if (_mapClass.equals(ps))
+ return true;
+ }
+ }
+ }
+ }
}
return false;
@@ -133,7 +152,7 @@
public synchronized void setDelegateMap(PropertyMap delegateMap)
{
if (!isCompatibleClass(delegateMap.getMapClass()))
- throw new IllegalArgumentException("The delegate map is an
incompatible type");
+ throw new IllegalArgumentException("The delegate map type (" +
delegateMap.getMapClass() + " is an incompatible type with " + _mapClass);
_delegateMap = delegateMap;
}
Modified:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/instantiate/TestInstantiate.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/instantiate/TestInstantiate.java?view=diff&r1=155997&r2=155998
==============================================================================
---
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/instantiate/TestInstantiate.java
(original)
+++
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/instantiate/TestInstantiate.java
Wed Mar 2 17:58:57 2005
@@ -149,7 +149,7 @@
/**
* Tests programmically instantiating a control with an external
declared propertySet
*/
- @Freq("detailed")
+ @Freq("checkin")
@Status("active")
public void testProgramWithExtProperty() throws Exception
{