raphael     2002/11/03 06:32:37

  Modified:    src/java/org/apache/jetspeed/om/registry/base
                        BaseMediaTypeRegistry.java
  Log:
  Fix CastorPsmlManager to not use a media-type map keyed on mime-type.
  Add a MediaTypeRegistry interface to provide needed search capability
  
  Revision  Changes    Path
  1.2       +68 -4     
jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/base/BaseMediaTypeRegistry.java
  
  Index: BaseMediaTypeRegistry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/base/BaseMediaTypeRegistry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BaseMediaTypeRegistry.java        30 Oct 2002 15:52:05 -0000      1.1
  +++ BaseMediaTypeRegistry.java        3 Nov 2002 14:32:37 -0000       1.2
  @@ -54,16 +54,21 @@
   
   package org.apache.jetspeed.om.registry.base;
   
  -import org.apache.jetspeed.om.registry.ClientEntry;
  -import org.apache.jetspeed.om.registry.PortletRegistry;
  +import org.apache.jetspeed.om.registry.MediaTypeRegistry;
  +import org.apache.jetspeed.om.registry.MediaTypeEntry;
   import org.apache.jetspeed.om.registry.RegistryEntry;
  -import org.apache.jetspeed.om.registry.PortletEntry;
   import org.apache.jetspeed.om.registry.InvalidEntryException;
   import org.apache.jetspeed.om.registry.RegistryException;
   import org.apache.jetspeed.services.Registry;
  +import org.apache.jetspeed.capability.CapabilityMap;
   
   import org.apache.turbine.util.Log;
   
  +import java.util.Iterator;
  +import java.util.Enumeration;
  +import java.util.List;
  +import java.util.ArrayList;
  +
   /**
    * Extends BaseRegistry implementation to override object creation
    * method
  @@ -72,7 +77,66 @@
    * @version $Id$
    */
   public class BaseMediaTypeRegistry extends BaseRegistry
  +     implements MediaTypeRegistry
   {
  +
  +    /*
  +     * Find media-types in this registry that match the CapabilityMap requirements
  +     *
  +     * @param category The category and optional subcategories.
  +     * @return Iterator The result as an iterator.
  +     */
  +    public Iterator findForCapability(CapabilityMap cm)
  +    {
  +             if (cm == null)
  +             {
  +                     return null;
  +             }
  +
  +             String type = cm.getPreferredType().getContentType();
  +             List result = new ArrayList();
  +
  +             if (DEBUG && Log.getLogger().isDebugEnabled())
  +             {
  +                     Log.debug("MediaTypeRegistry: looking for type " + type );
  +             }
  +
  +             if (type == null)
  +             {
  +                     return result.iterator();
  +             }
  +
  +             try
  +             {
  +                     Enumeration en = getEntries();
  +                     while(en.hasMoreElements())
  +                     {
  +                             MediaTypeEntry mte = (MediaTypeEntry)en.nextElement();
  +
  +                             if (DEBUG && Log.getLogger().isDebugEnabled())
  +                             {
  +                                     Log.debug("MediaTypeRegistry: found 
MediaTypeEntry for type " + mte.getMimeType() );
  +                             }
  +                             if (type.equals(mte.getMimeType()))
  +                             {
  +                                     result.add(mte);
  +                             }
  +                     }
  +             }
  +             catch(Exception e)
  +             {
  +                     Log.error(e);
  +             }
  +
  +             if (DEBUG && Log.getLogger().isDebugEnabled())
  +             {
  +                     Log.debug("MediaTypeRegistry: found " + result.size() + " 
entries." );
  +             }
  +
  +             return result.iterator();
  +
  +     }
  +
       /**
       @see Registry#setEntry
       */
  
  
  

--
To unsubscribe, e-mail:   <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>

Reply via email to