jford 2004/10/11 14:50:53
Modified: components/search/src/java/org/apache/jetspeed/search/handlers/pam
PortletDefinitionHandler.java
PortletApplicationHandler.java
Log:
Better indexing
Revision Changes Path
1.2 +39 -29
jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/handlers/pam/PortletDefinitionHandler.java
Index: PortletDefinitionHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/handlers/pam/PortletDefinitionHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PortletDefinitionHandler.java 6 Oct 2004 19:22:24 -0000 1.1
+++ PortletDefinitionHandler.java 11 Oct 2004 21:50:53 -0000 1.2
@@ -21,10 +21,12 @@
import org.apache.commons.collections.MultiHashMap;
import org.apache.jetspeed.om.common.LocalizedField;
+import org.apache.jetspeed.om.common.portlet.PortletApplication;
import org.apache.jetspeed.om.common.portlet.PortletDefinitionComposite;
import org.apache.jetspeed.search.AbstractObjectHandler;
import org.apache.jetspeed.search.BaseParsedObject;
import org.apache.jetspeed.search.ParsedObject;
+import org.apache.jetspeed.util.JetspeedLocale;
import org.apache.pluto.om.common.Description;
import org.apache.pluto.om.common.DisplayName;
import org.apache.pluto.om.common.Language;
@@ -35,6 +37,13 @@
public class PortletDefinitionHandler extends AbstractObjectHandler
{
private static final String KEY_PREFIX = "PortletDefinition::";
+ private static final String ID = "ID";
+ private static final String PORTLET_APPLICATION = "portlet_application";
+
+ {
+ fields.add(ID);
+ fields.add(PORTLET_APPLICATION);
+ }
/* (non-Javadoc)
* @see org.apache.jetspeed.search.ObjectHandler#parseObject(java.lang.Object)
@@ -47,26 +56,45 @@
result = new BaseParsedObject();
PortletDefinitionComposite pd = (PortletDefinitionComposite)o;
+ //need to get Locale here
+ String displayNameText =
pd.getDisplayNameText(JetspeedLocale.getDefaultLocale());
+ result.setTitle(displayNameText);
+
+ String description =
pd.getDescriptionText(JetspeedLocale.getDefaultLocale());
+ result.setDescription(description);
+
+ result.setClassName(pd.getClass().getName());
+ result.setKey(KEY_PREFIX + pd.getUniqueName());
+ result.setType(ParsedObject.OBJECT_TYPE_PORTLET);
+
+ //TODO: this is common to PAs as well, possible refactor
+ MultiHashMap fieldMap = new MultiHashMap();
+ fieldMap.put(ID, pd.getName());
+
+ PortletApplication pa =
(PortletApplication)pd.getPortletApplicationDefinition();
+ fieldMap.put(PORTLET_APPLICATION, pa.getName());
+
+ Collection mdFields = pd.getMetadata().getFields();
+ for (Iterator fieldIter = mdFields.iterator(); fieldIter.hasNext();)
+ {
+ LocalizedField field = (LocalizedField) fieldIter.next();
+ fieldMap.put(field.getName(), field.getValue());
+ }
+
//Handle descriptions
- StringBuffer descBuffer = new StringBuffer();
Iterator descIter = pd.getDescriptionSet().iterator();
while (descIter.hasNext())
{
Description desc = (Description) descIter.next();
- descBuffer.append(desc.getDescription());
- descBuffer.append(" ");
+ fieldMap.put(ParsedObject.FIELDNAME_DESCRIPTION,
desc.getDescription());
}
- result.setDescription(descBuffer.toString());
-
//Handle keywords and titles
- StringBuffer titleBuffer = new StringBuffer();
Iterator displayNameIter = pd.getDisplayNameSet().iterator();
while (displayNameIter.hasNext())
{
DisplayName displayName = (DisplayName) displayNameIter.next();
- titleBuffer.append(displayName.getDisplayName());
- titleBuffer.append(" ");
+ fieldMap.put(ParsedObject.FIELDNAME_TITLE,
displayName.getDisplayName());
}
HashSet keywordSet = new HashSet();
@@ -75,10 +103,8 @@
while (langIter.hasNext())
{
Language lang = (Language) langIter.next();
- titleBuffer.append(lang.getTitle());
- titleBuffer.append(" ");
- titleBuffer.append(lang.getShortTitle());
- titleBuffer.append(" ");
+ fieldMap.put(ParsedObject.FIELDNAME_TITLE, lang.getTitle());
+ fieldMap.put(ParsedObject.FIELDNAME_TITLE, lang.getShortTitle());
Iterator keywordIter = lang.getKeywords();
while (keywordIter.hasNext())
@@ -88,25 +114,9 @@
}
}
- result.setTitle(titleBuffer.toString());
- result.setClassName(pd.getClass().getName());
- result.setKey(KEY_PREFIX + pd.getUniqueName());
- result.setType(ParsedObject.OBJECT_TYPE_PORTLET);
-
String[] temp = new String[keywordSet.size()];
result.setKeywords((String[])keywordSet.toArray(temp));
-
- //TODO: this is common to PAs as well, possible refactor
- MultiHashMap fieldMap = new MultiHashMap();
-
- Collection mdFields = pd.getMetadata().getFields();
- for (Iterator fieldIter = mdFields.iterator(); fieldIter.hasNext();)
- {
- LocalizedField field = (LocalizedField) fieldIter.next();
-
- fieldMap.put(field.getName(), field.getValue());
- this.fields.add(field.getName());
- }
+ result.setFields(fieldMap);
}
return result;
}
1.2 +8 -1
jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/handlers/pam/PortletApplicationHandler.java
Index: PortletApplicationHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/handlers/pam/PortletApplicationHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PortletApplicationHandler.java 6 Oct 2004 19:22:24 -0000 1.1
+++ PortletApplicationHandler.java 11 Oct 2004 21:50:53 -0000 1.2
@@ -32,6 +32,11 @@
public class PortletApplicationHandler extends AbstractObjectHandler
{
private static final String KEY_PREFIX = "PortletApplication::";
+ private static final String ID = "ID";
+
+ {
+ fields.add(ID);
+ }
/**
* @see org.apache.jetspeed.search.ObjectHandler#parseObject(java.lang.Object)
@@ -49,15 +54,17 @@
result.setTitle(pa.getName());
result.setKey(KEY_PREFIX + pa.getName());
result.setType(ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION);
+ result.setClassName(pa.getClass().getName());
MultiHashMap fieldMap = new MultiHashMap();
+ fieldMap.put(ID, pa.getName());
Collection fields = pa.getMetadata().getFields();
for (Iterator fieldIter = fields.iterator(); fieldIter.hasNext();)
{
LocalizedField field = (LocalizedField) fieldIter.next();
fieldMap.put(field.getName(), field.getValue());
- this.fields.add(field.getName());
+ //this.fields.add(field.getName());
}
result.setFields(fieldMap);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]