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>