You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/10/20 12:27:51 UTC

svn commit: r706200 - /labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java

Author: simoneg
Date: Mon Oct 20 03:27:50 2008
New Revision: 706200

URL: http://svn.apache.org/viewvc?rev=706200&view=rev
Log:
Slight optimization on check for changes

Modified:
    labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java

Modified: labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java?rev=706200&r1=706199&r2=706200&view=diff
==============================================================================
--- labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java (original)
+++ labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java Mon Oct 20 03:27:50 2008
@@ -20,6 +20,8 @@
 import org.apache.magma.basics.MagmaException;
 
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
@@ -31,7 +33,7 @@
 	private BeanData data;
 
 	private Map<String, Object> values = new HashMap<String, Object>();
-	private Map<String, Boolean> changed = new HashMap<String, Boolean>();
+	private Set<String> changed = new HashSet<String>();
 
 	
 	public BeanHandler(MagmaBeanSupport bean) {
@@ -50,7 +52,7 @@
 			}
 		}
 		values.put(field, value);
-		changed.put(field, true);
+		changed.add(field);
 	}
 
 	public Object getValue(String field) {
@@ -79,13 +81,13 @@
 	}
 	
 	public void commit() {
-		Set<String> names = data.getPropertyNames();
-		for (String name : names) {
+		for (Iterator<String> iterator = changed.iterator(); iterator.hasNext();) {
+			String name = iterator.next();
 			PropertyInfo property = data.getProperty(name);
 			if (property.isWriteable()) {
 				try {
 					PropertyUtils.setProperty(bean, name, values.get(name));
-					this.changed.remove(name);
+					iterator.remove();
 				} catch (Exception e) {
 					throw new MagmaException(e, "Error while setting property {0} on {1}", name, bean.getClass().getName());
 				}				



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org