weaver 2004/02/04 13:12:27 Modified: services/registry/src/java/org/apache/jetspeed/om/impl ParameterSetImpl.java SecurityRoleRefImpl.java ParameterImpl.java PortletParameterSetImpl.java SecurityRoleRefSetImpl.java ServletParameterSetImpl.java Log: - refactored to support the new non-OJB collections Revision Changes Path 1.2 +61 -38 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ParameterSetImpl.java Index: ParameterSetImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ParameterSetImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ParameterSetImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ ParameterSetImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -54,9 +54,9 @@ package org.apache.jetspeed.om.impl; import java.io.Serializable; -import java.util.HashMap; +import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; -import java.util.Set; //TODO: import org.apache.jetspeed.exception.JetspeedRuntimeException; import org.apache.jetspeed.om.common.ParameterComposite; @@ -72,25 +72,23 @@ * @version $Id$ * */ -public abstract class ParameterSetImpl extends AbstractSupportSet implements ParameterSet, ParameterSetCtrl, Serializable +public abstract class ParameterSetImpl implements ParameterSet, ParameterSetCtrl, Serializable { - private HashMap parameterMap; - - protected abstract Class getParameterClass(); - - // TODO: protected abstract Log getLog(); + protected Collection innerCollection; /** * @param wrappedSet */ - public ParameterSetImpl(Set wrappedSet) + public ParameterSetImpl(Collection collection) { - super(wrappedSet); + super(); + this.innerCollection = collection; } public ParameterSetImpl() { - parameterMap = new HashMap(); + super(); + this.innerCollection = new ArrayList(); } /** @@ -98,7 +96,7 @@ */ public Iterator iterator() { - return super.iterator(); + return innerCollection.iterator(); } /** @@ -106,7 +104,17 @@ */ public Parameter get(String name) { - return (Parameter) parameterMap.get(name); + Iterator itr = innerCollection.iterator(); + while (itr.hasNext()) + { + Parameter p = (Parameter) itr.next(); + if (p.getName().equals(name)) + { + return p; + } + } + + return null; } /** @@ -114,14 +122,11 @@ */ public Parameter add(String name, String value) { - - ParameterComposite p = (ParameterComposite) newParameterInstance(); + ParameterComposite p = newParameterInstance(); p.setName(name); p.setValue(value); add(p); - - return (Parameter) p; - + return p; } /** @@ -129,9 +134,24 @@ */ public Parameter remove(String name) { - Parameter p = (Parameter) parameterMap.get(name); - remove(p); - return p; + Iterator itr = innerCollection.iterator(); + Parameter removeMe = null; + while (itr.hasNext()) + { + Parameter p = (Parameter) itr.next(); + if (p.getName().equals(name)) + { + removeMe = p; + break; + } + } + + if (removeMe != null) + { + innerCollection.remove(removeMe); + } + + return removeMe; } /** @@ -152,8 +172,8 @@ public boolean add(Object o) { ParameterComposite p = (ParameterComposite) o; - parameterMap.put(p.getName(), p); - return super.add(p); + + return innerCollection.add(p); } /** @@ -162,27 +182,30 @@ public boolean remove(Object o) { Parameter p = (Parameter) o; - parameterMap.remove(p.getName()); - return super.remove(p); + + return innerCollection.remove(p); } /** * Creates a Parameter class this Collection will be working with. * <br> */ - protected ParameterComposite newParameterInstance() + protected abstract ParameterComposite newParameterInstance(); + + /** + * @return + */ + public Collection getInnerCollection() { - try - { - return (ParameterComposite) getParameterClass().newInstance(); - } - catch (Exception e) - { - // TODO: getLog().error("Unable to instaniate new Parameter class.", e); - // throw new JetspeedRuntimeException("Unable to instantiate new Parameter class.", e); - e.printStackTrace(); - } - return null; + return innerCollection; + } + + /** + * @param collection + */ + public void setInnerCollection(Collection collection) + { + innerCollection = collection; } } 1.2 +32 -9 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/SecurityRoleRefImpl.java Index: SecurityRoleRefImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/SecurityRoleRefImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SecurityRoleRefImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ SecurityRoleRefImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -54,11 +54,14 @@ package org.apache.jetspeed.om.impl; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; import java.util.Locale; -import org.apache.jetspeed.util.JetspeedLocale; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.jetspeed.registry.JetspeedPortletRegistry; import org.apache.jetspeed.om.common.MutableDescription; -import org.apache.jetspeed.om.common.MutableDescriptionSet; import org.apache.jetspeed.om.common.SecurityRoleRefComposite; import org.apache.jetspeed.util.HashCodeBuilder; import org.apache.pluto.om.common.Description; @@ -80,7 +83,10 @@ protected long portletId; private String link; private String name; - private MutableDescriptionSet descriptions; + private Collection descriptions; + private DescriptionSetImpl descCollWrapper = new DescriptionSetImpl(DescriptionImpl.TYPE_SEC_ROLE_REF); + + private static final Log log = LogFactory.getLog(SecurityRoleRefImpl.class); /** * @see org.apache.pluto.om.common.SecurityRoleRef#getRoleLink() @@ -146,7 +152,8 @@ { if (descriptions != null) { - return descriptions.get(arg0); + descCollWrapper.setInnerCollection(descriptions); + return descCollWrapper.get(arg0); } return null; } @@ -158,9 +165,10 @@ { if (descriptions == null) { - descriptions = new DescriptionSetImpl(MutableDescription.TYPE_SEC_ROLE_REF); + descriptions = new ArrayList(); } - descriptions.addDescription(description); + descCollWrapper.setInnerCollection(descriptions); + descCollWrapper.addDescription(description); } /** @@ -168,7 +176,7 @@ */ public void setDescriptionSet(DescriptionSet descriptions) { - this.descriptions = (MutableDescriptionSet) descriptions; + this.descriptions = ((DescriptionSetImpl) descriptions).getInnerCollection(); } @@ -181,7 +189,22 @@ */ public void setDescription(String arg0) { - DescriptionImpl di = new DescriptionImpl(JetspeedLocale.getDefaultLocale(), arg0, MutableDescription.TYPE_SEC_ROLE_REF); + try + { + MutableDescription descObj = + (MutableDescription) JetspeedPortletRegistry.getNewObjectInstance(MutableDescription.TYPE_PORTLET, true); + // descObj.setLocale(Jetspeed.getDefaultLocale()); + descObj.setLocale(Locale.getDefault()); + descObj.setDescription(arg0); + + } + catch (Exception e) + { + String msg = "Unable to instantiate Description implementor, " + e.toString(); + log.error(msg, e); + throw new IllegalStateException(msg); + } + } } 1.2 +35 -13 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ParameterImpl.java Index: ParameterImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ParameterImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ParameterImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ ParameterImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -55,11 +55,15 @@ package org.apache.jetspeed.om.impl; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; import java.util.Locale; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.jetspeed.om.common.MutableDescription; -import org.apache.jetspeed.om.common.MutableDescriptionSet; import org.apache.jetspeed.om.common.ParameterComposite; +import org.apache.jetspeed.registry.JetspeedPortletRegistry; import org.apache.jetspeed.util.HashCodeBuilder; import org.apache.pluto.om.common.Description; import org.apache.pluto.om.common.DescriptionSet; @@ -79,7 +83,10 @@ protected long parentId; - private MutableDescriptionSet descriptions; + private Collection descriptions; + private DescriptionSetImpl descCollWrapper = new DescriptionSetImpl(DescriptionImpl.TYPE_PARAMETER); + + private static final Log log = LogFactory.getLog(ParameterImpl.class); /** * @see org.apache.pluto.om.common.Parameter#getName() @@ -120,10 +127,12 @@ */ public boolean equals(Object obj) { - if (obj != null && obj instanceof Parameter) + if (obj != null && obj.getClass().equals(getClass())) { - Parameter p = (Parameter) obj; - return this.getName().equals(p.getName()); + ParameterImpl p = (ParameterImpl) obj; + boolean sameParent = (p.parentId == parentId); + boolean sameName = (name != null && p.getName() != null && name.equals(p.getName())); + return sameParent && sameName; } return false; @@ -146,7 +155,7 @@ { if (descriptions != null) { - return descriptions.get(arg0); + return new DescriptionSetImpl(descriptions).get(arg0); } return null; @@ -157,7 +166,7 @@ */ public void setDescriptionSet(DescriptionSet arg0) { - this.descriptions = (MutableDescriptionSet) arg0; + this.descriptions = ((DescriptionSetImpl) arg0).getInnerCollection(); } /** @@ -167,10 +176,23 @@ { if (descriptions == null) { - descriptions = new DescriptionSetImpl(MutableDescription.TYPE_PARAMETER); + descriptions = new ArrayList(); + } + descCollWrapper.setInnerCollection(descriptions); + try + { + MutableDescription descObj = + (MutableDescription) JetspeedPortletRegistry.getNewObjectInstance(MutableDescription.TYPE_PARAMETER, true); + descObj.setLocale(locale); + descObj.setDescription(desc); + descCollWrapper.addDescription(descObj); + } + catch (Exception e) + { + String msg = "Unable to instantiate Description implementor, " + e.toString(); + log.error(msg, e); + throw new IllegalStateException(msg); } - - descriptions.addDescription(new DescriptionImpl(locale, desc, MutableDescription.TYPE_PARAMETER)); } @@ -178,11 +200,11 @@ { if (descriptions == null) { - descriptions = new DescriptionSetImpl(MutableDescription.TYPE_PARAMETER); + descriptions = new ArrayList(); } - descriptions.addDescription(desc); - + descCollWrapper.setInnerCollection(descriptions); + descCollWrapper.addDescription(desc); } /** 1.2 +24 -15 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/PortletParameterSetImpl.java Index: PortletParameterSetImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/PortletParameterSetImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PortletParameterSetImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ PortletParameterSetImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -53,8 +53,12 @@ */ package org.apache.jetspeed.om.impl; -import java.util.Set; +import java.util.Collection; +import org.apache.jetspeed.om.common.ParameterComposite; +import org.apache.jetspeed.om.common.portlet.MutablePortletApplication; + +import org.apache.jetspeed.registry.JetspeedPortletRegistry; /** * @@ -68,11 +72,11 @@ { /** - * @param wrappedSet + * @param collection */ - public PortletParameterSetImpl(Set wrappedSet) + public PortletParameterSetImpl(Collection collection) { - super(wrappedSet); + super(collection); } /** @@ -86,17 +90,22 @@ /** * @see org.apache.jetspeed.om.common.ParameterSetImpl#getParameterClass() */ - protected Class getParameterClass() - { - return PortletInitParameterImpl.class; - } /** - * @see org.apache.jetspeed.om.common.ParameterSetImpl#getLog() - * - protected Log getLog() - { - return LogFactory.getLog(PortletParameterSetImpl.class); + * + */ + protected ParameterComposite newParameterInstance() + { + try + { + return (ParameterComposite) JetspeedPortletRegistry.getNewObjectInstance( + ParameterComposite.TYPE_PORTLET, + true); + } + catch (Exception e) + { + throw new IllegalStateException("Instance class unable to be configured " + e.toString()); + } } - */ + } 1.2 +144 -14 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/SecurityRoleRefSetImpl.java Index: SecurityRoleRefSetImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/SecurityRoleRefSetImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SecurityRoleRefSetImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ SecurityRoleRefSetImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -54,7 +54,9 @@ package org.apache.jetspeed.om.impl; import java.io.Serializable; -import java.util.HashMap; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; import org.apache.pluto.om.common.DescriptionSet; import org.apache.pluto.om.common.SecurityRoleRef; @@ -69,14 +71,19 @@ * @version $Id$ * */ -public class SecurityRoleRefSetImpl extends AbstractSupportSet implements SecurityRoleRefSet, SecurityRoleRefSetCtrl, Serializable +public class SecurityRoleRefSetImpl implements SecurityRoleRefSet, SecurityRoleRefSetCtrl, Serializable { - private HashMap refMap = new HashMap(); + protected Collection innerCollection; public SecurityRoleRefSetImpl() { - refMap = new HashMap(); + innerCollection = new ArrayList(); + } + + public SecurityRoleRefSetImpl(Collection collection) + { + innerCollection = collection; } /** @@ -84,7 +91,17 @@ */ public SecurityRoleRef get(String name) { - return (SecurityRoleRef) refMap.get(name); + Iterator itr = innerCollection.iterator(); + while (itr.hasNext()) + { + SecurityRoleRef roleRef = (SecurityRoleRef) itr.next(); + if (roleRef.getRoleName().equals(name)) + { + return roleRef; + } + } + + return null; } /** @@ -106,7 +123,7 @@ */ public SecurityRoleRef add(SecurityRoleRef securityRoleRef) { - add(securityRoleRef); + innerCollection.add(securityRoleRef); return securityRoleRef; } @@ -115,8 +132,13 @@ */ public SecurityRoleRef remove(String name) { - SecurityRoleRef ref = (SecurityRoleRef) refMap.get(name); - return ref; + SecurityRoleRef roleRef = get(name); + if(roleRef != null) + { + innerCollection.remove(roleRef); + } + + return roleRef; } /** @@ -124,7 +146,7 @@ */ public void remove(SecurityRoleRef securityRoleRef) { - remove(securityRoleRef); + innerCollection.remove(securityRoleRef); } @@ -134,8 +156,11 @@ public boolean add(Object o) { SecurityRoleRef ref = (SecurityRoleRef) o; - refMap.put(ref.getRoleName(), ref); - return super.add(o); + if(innerCollection.contains(o)) + { + remove(o); + } + return innerCollection.add(o); } /** @@ -144,8 +169,8 @@ public boolean remove(Object o) { SecurityRoleRef ref = (SecurityRoleRef) o; - refMap.remove(ref.getRoleName()); - return super.remove(o); + + return innerCollection.remove(o); } /** @@ -159,6 +184,111 @@ newRef.setDescriptionSet(descriptions); add(newRef); return newRef; + } + + /** + * @see java.util.Collection#addAll(java.util.Collection) + */ + public boolean addAll(Collection c) + { + return innerCollection.addAll(c); + } + + /** + * @see java.util.Collection#clear() + */ + public void clear() + { + innerCollection.clear(); + + } + + /** + * @see java.util.Collection#contains(java.lang.Object) + */ + public boolean contains(Object o) + { + return innerCollection.contains(o); + } + + /** + * @see java.util.Collection#containsAll(java.util.Collection) + */ + public boolean containsAll(Collection c) + { + return innerCollection.containsAll(c); + } + + /** + * @see java.util.Collection#isEmpty() + */ + public boolean isEmpty() + { + return innerCollection.isEmpty(); + } + + /** + * @see java.util.Collection#iterator() + */ + public Iterator iterator() + { + return innerCollection.iterator(); + } + + /** + * @see java.util.Collection#removeAll(java.util.Collection) + */ + public boolean removeAll(Collection c) + { + return innerCollection.removeAll(c); + } + + /** + * @see java.util.Collection#retainAll(java.util.Collection) + */ + public boolean retainAll(Collection c) + { + return innerCollection.retainAll(c); + } + + /** + * @see java.util.Collection#size() + */ + public int size() + { + return innerCollection.size(); + } + + /** + * @see java.util.Collection#toArray() + */ + public Object[] toArray() + { + return innerCollection.toArray(); + } + + /** + * @see java.util.Collection#toArray(java.lang.Object[]) + */ + public Object[] toArray(Object[] a) + { + return innerCollection.toArray(a); + } + + /** + * @return + */ + public Collection getInnerCollection() + { + return innerCollection; + } + + /** + * @param collection + */ + public void setInnerCollection(Collection collection) + { + innerCollection = collection; } } 1.2 +14 -14 jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ServletParameterSetImpl.java Index: ServletParameterSetImpl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/services/registry/src/java/org/apache/jetspeed/om/impl/ServletParameterSetImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ServletParameterSetImpl.java 12 Jan 2004 06:19:51 -0000 1.1 +++ ServletParameterSetImpl.java 4 Feb 2004 21:12:27 -0000 1.2 @@ -53,6 +53,8 @@ */ package org.apache.jetspeed.om.impl; +import org.apache.jetspeed.om.common.ParameterComposite; +import org.apache.jetspeed.registry.JetspeedPortletRegistry; /** * @@ -73,20 +75,18 @@ super(); } - /** - * @see org.apache.jetspeed.om.common.ParameterSetImpl#getParameterClass() - */ - protected Class getParameterClass() + protected ParameterComposite newParameterInstance() { - return ServletInitParameterImpl.class; + try + { + return (ParameterComposite) JetspeedPortletRegistry.getNewObjectInstance( + ParameterComposite.TYPE_WEB_APP, + true); + } + catch (Exception e) + { + throw new IllegalStateException("Instance class unable to be configured " + e.toString()); + } } - - /** - * @see org.apache.jetspeed.om.common.ParameterSetImpl#getLog() - */ -//TODO: protected Log getLog() -// { -// return LogFactory.getLog(ServletParameterSetImpl.class); -// } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]