You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/02/04 22:20:51 UTC
cvs commit: jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/preference/impl PreferenceSetImpl.java
weaver 2004/02/04 13:20:51
Modified: services/registry/src/java/org/apache/jetspeed/om/preference/impl
PreferenceSetImpl.java
Log:
- refactored to support the new non-OJB collections
- removed the HashMap lookup from PrefSetImpl
Revision Changes Path
1.2 +71 -45 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java
Index: PreferenceSetImpl.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PreferenceSetImpl.java 12 Jan 2004 06:19:51 -0000 1.1
+++ PreferenceSetImpl.java 4 Feb 2004 21:20:51 -0000 1.2
@@ -55,15 +55,16 @@
package org.apache.jetspeed.om.preference.impl;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.Set;
import javax.portlet.PreferencesValidator;
import org.apache.jetspeed.om.common.preference.PreferenceComposite;
import org.apache.jetspeed.om.common.preference.PreferenceSetComposite;
-import org.apache.jetspeed.om.impl.AbstractSupportSet;
import org.apache.pluto.om.common.Preference;
/**
@@ -74,51 +75,23 @@
* @version $Id$
*
*/
-public class PreferenceSetImpl extends AbstractSupportSet implements PreferenceSetComposite, Serializable
+public class PreferenceSetImpl implements PreferenceSetComposite, Serializable
{
- protected HashMap prefMap = new HashMap();
-
private String preferenceType;
private PreferencesValidator validator;
- /**
- * @param wrappedSet
- */
- public PreferenceSetImpl(Set wrappedSet)
- {
- super(wrappedSet);
- }
+ protected Collection innerCollection;
- /**
- * @param c
- */
public PreferenceSetImpl(Collection c)
{
- super(c);
- }
-
- /**
- * @param initialCapacity
- * @param loadFactor
- */
- public PreferenceSetImpl(int initialCapacity, float loadFactor)
- {
- super(initialCapacity, loadFactor);
- }
-
- /**
- * @param initialCapacity
- */
- public PreferenceSetImpl(int initialCapacity)
- {
- super(initialCapacity);
+ innerCollection = c;
}
public PreferenceSetImpl()
{
- super();
+ innerCollection = new ArrayList();
}
/**
@@ -126,7 +99,17 @@
*/
public Preference get(String name)
{
- return (Preference) prefMap.get(name);
+ Iterator itr = innerCollection.iterator();
+ while (itr.hasNext())
+ {
+ Preference p = (Preference) itr.next();
+ if (p.getName().equals(name))
+ {
+ return p;
+ }
+ }
+
+ return null;
}
/**
@@ -140,7 +123,7 @@
pref.setName(name);
pref.setValues(values);
- add(pref);
+ innerCollection.add(pref);
return pref;
}
@@ -149,8 +132,12 @@
*/
public Preference remove(String name)
{
- Preference pref = (Preference) prefMap.get(name);
- remove(pref);
+ Preference pref = get(name);
+ if (pref != null)
+ {
+ remove(pref);
+ }
+
return pref;
}
@@ -174,8 +161,7 @@
preferenceType = pref.getType();
}
- prefMap.put(pref.getName(), pref);
- return super.add(pref);
+ return innerCollection.add(pref);
}
/**
@@ -184,13 +170,21 @@
public boolean remove(Object o)
{
Preference pref = (Preference) o;
- prefMap.remove(pref.getName());
- return super.remove(o);
+
+ return innerCollection.remove(o);
}
public Set getNames()
{
- return prefMap.keySet();
+ HashSet nameSet = new HashSet();
+ Iterator itr = innerCollection.iterator();
+ while (itr.hasNext())
+ {
+ Preference pref = (Preference) itr.next();
+ nameSet.add(pref.getName());
+ }
+
+ return nameSet;
}
/**
@@ -223,7 +217,7 @@
preferenceType = pref.getType();
}
- return super.addAll(c);
+ return innerCollection.addAll(c);
}
/**
@@ -257,6 +251,38 @@
}
this.validator = validator;
+ }
+
+ /**
+ * @see org.apache.jetspeed.om.common.preference.PreferenceSetComposite#size()
+ */
+ public int size()
+ {
+ return innerCollection.size();
+ }
+
+ /**
+ * @see org.apache.pluto.om.common.PreferenceSet#iterator()
+ */
+ public Iterator iterator()
+ {
+ return innerCollection.iterator();
+ }
+
+ /**
+ * @return
+ */
+ public Collection getInnerCollection()
+ {
+ return innerCollection;
+ }
+
+ /**
+ * @param collection
+ */
+ public void setInnerCollection(Collection collection)
+ {
+ innerCollection = collection;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org