Author: ips
Date: Mon Mar 14 14:05:14 2005
New Revision: 157472
URL: http://svn.apache.org/viewcvs?view=rev&rev=157472
Log:
added support for registering more than one propChanged event listener (see
http://issues.apache.org/jira/browse/APOLLO-3)
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/ResourceProperty.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourceProperty.java
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/ResourceProperty.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/ResourceProperty.java?view=diff&r1=157471&r2=157472
==============================================================================
---
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/ResourceProperty.java
(original)
+++
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/ResourceProperty.java
Mon Mar 14 14:05:14 2005
@@ -145,7 +145,18 @@
*/
ResourcePropertyCallback getCallBack();
- ResourcePropertyValueChangeListener getChangeListener();
+ /**
+ * Returns the value-change listeners that are registered on this property.
+ *
+ * @return the value-change listeners that are registered on this
property; may be empty, but never null
+ */
+ ResourcePropertyValueChangeListener[] getChangeListeners();
+
+ /**
+ * Registers the specified value-change listener on this property.
+ *
+ * @param listener a property value-change listener
+ */
+ void addChangeListener( ResourcePropertyValueChangeListener listener );
- void setChangeListener( ResourcePropertyValueChangeListener listenerValue
);
}
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java?view=diff&r1=157471&r2=157472
==============================================================================
---
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
(original)
+++
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
Mon Mar 14 14:05:14 2005
@@ -25,6 +25,7 @@
import org.apache.ws.resource.properties.ResourcePropertyCallback;
import org.apache.ws.resource.properties.ResourcePropertyMetaData;
import org.apache.ws.resource.properties.SetResourcePropertyCallback;
+import org.apache.ws.resource.properties.ResourcePropertyValueChangeListener;
import
org.apache.ws.resource.properties.faults.InvalidResourcePropertyQNameFaultException;
import
org.apache.ws.resource.properties.faults.InvalidSetResourcePropertiesRequestContentFaultException;
import
org.apache.ws.resource.properties.faults.SetResourcePropertyRequestFailedFaultException;
@@ -96,10 +97,7 @@
Object[] oldValue = getValue( prop );
prop.clear();
Object[] newValue = null;
- if ( prop.getChangeListener() != null )
- {
- firePropChangeEvent( prop, oldValue, newValue );
- }
+ firePropChangeEvents( prop, oldValue, newValue );
}
/**
@@ -160,10 +158,7 @@
}
}
Object[] newValue = getValue( prop );
- if ( prop.getChangeListener() != null )
- {
- firePropChangeEvent( prop, oldValue, newValue );
- }
+ firePropChangeEvents( prop, oldValue, newValue );
}
/**
@@ -215,10 +210,7 @@
throw new
InvalidSetResourcePropertiesRequestContentFaultException( getNamespaceSet(),
mdve );
}
Object[] newValue = getValue( prop );
- if ( prop.getChangeListener() != null )
- {
- firePropChangeEvent( prop, oldValue, newValue );
- }
+ firePropChangeEvents( prop, oldValue, newValue );
}
private ResourceProperty createAnyProperty(QName propName)
@@ -355,9 +347,13 @@
}
}
- private void firePropChangeEvent( ResourceProperty prop, Object[]
oldValue, Object[] newValue )
+ private void firePropChangeEvents( ResourceProperty prop, Object[]
oldValue, Object[] newValue )
{
- prop.getChangeListener().propertyChanged( new
XmlBeansResourcePropertyValueChangeEvent( oldValue, newValue ) );
+ for ( int i = 0; i < prop.getChangeListeners().length; i++ )
+ {
+ ResourcePropertyValueChangeListener listener =
prop.getChangeListeners()[i];
+ listener.propertyChanged( new
XmlBeansResourcePropertyValueChangeEvent( oldValue, newValue ) );
+ }
}
}
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourceProperty.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourceProperty.java?view=diff&r1=157471&r2=157472
==============================================================================
---
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourceProperty.java
(original)
+++
incubator/apollo/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourceProperty.java
Mon Mar 14 14:05:14 2005
@@ -35,6 +35,8 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
/**
* An Apache XMLBeans-based implementation of a resource property.
@@ -51,7 +53,7 @@
private XmlBeansResourcePropertySet m_propSet;
private List m_propElems = new ArrayList();
private ResourcePropertyCallback m_callBack;
- private ResourcePropertyValueChangeListener m_changeListener;
+ private Set m_changeListeners = new HashSet();
/**
* Creates a new [EMAIL PROTECTED] XmlBeansResourceProperty} object.
@@ -87,7 +89,7 @@
}
/**
- * @return
+ * @see ResourceProperty#isEmpty()
*/
public boolean isEmpty()
{
@@ -95,9 +97,7 @@
}
/**
- * DOCUMENT_ME
- *
- * @return DOCUMENT_ME
+ * @see ResourceProperty#getMetaData()
*/
public ResourcePropertyMetaData getMetaData()
{
@@ -105,7 +105,7 @@
}
/**
- * @return
+ * @see ResourceProperty#getSet()
*/
public ResourcePropertySet getSet()
{
@@ -297,9 +297,7 @@
}
/**
- * DOCUMENT_ME
- *
- * @return DOCUMENT_ME
+ * @see ResourceProperty#toXML()
*/
public String toXML()
{
@@ -312,22 +310,25 @@
return buf.toString();
}
- /**
- * @return
- */
public XmlObject[] toXmlObjects()
{
return (XmlObject[]) m_propElems.toArray( new XmlObject[0] );
}
- public ResourcePropertyValueChangeListener getChangeListener()
+ /**
+ * @see ResourceProperty#getChangeListeners()
+ */
+ public ResourcePropertyValueChangeListener[] getChangeListeners()
{
- return m_changeListener;
+ return (ResourcePropertyValueChangeListener[])
m_changeListeners.toArray( new ResourcePropertyValueChangeListener[0] );
}
- public void setChangeListener( ResourcePropertyValueChangeListener
changeListener )
+ /**
+ * @see
ResourceProperty#addChangeListener(ResourcePropertyValueChangeListener)
+ */
+ public void addChangeListener( ResourcePropertyValueChangeListener
changeListener )
{
- m_changeListener = changeListener;
+ m_changeListeners.add( changeListener );
}
private XmlObject toPropXBean( Object propElem )
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]