1/*2 * Licensed to the Apache Software Foundation (ASF) under one or more3 * contributor license agreements. See the NOTICE file distributed with4 * this work for additional information regarding copyright ownership.5 * The ASF licenses this file to You under the Apache License, Version 2.06 * (the "License"); you may not use this file except in compliance with7 * the License. You may obtain a copy of the License at8 * 9 * http://www.apache.org/licenses/LICENSE-2.010 * 11 * Unless required by applicable law or agreed to in writing, software12 * distributed under the License is distributed on an "AS IS" BASIS,13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14 * See the License for the specific language governing permissions and15 * limitations under the License.16 */17packageorg.apache.jetspeed.search.handlers.pam;
1819import java.util.Collection;
20import java.util.Iterator;
2122import org.apache.commons.collections.MultiHashMap;
23import org.apache.jetspeed.om.common.LocalizedField;
24import org.apache.jetspeed.om.common.portlet.MutablePortletApplication;
25import org.apache.jetspeed.search.AbstractObjectHandler;
26import org.apache.jetspeed.search.BaseParsedObject;
27import org.apache.jetspeed.search.ParsedObject;
2829/***30 *31 * @author <a href="mailto: jford@apache.org">Jeremy Ford</a>32 */33publicclassPortletApplicationHandlerextendsAbstractObjectHandler34 {
35privatestaticfinal String KEY_PREFIX = "PortletApplication::";
36privatestaticfinal String ID = "ID";
3738 {
39 fields.add(ID);
40 }
4142/*** 43 * @see org.apache.jetspeed.search.ObjectHandler#parseObject(java.lang.Object)44 */45public ParsedObject parseObject(Object o)
46 {
47BaseParsedObject result = null;
4849if(o instanceof MutablePortletApplication)
50 {
51 result = newBaseParsedObject();
52 MutablePortletApplication pa = (MutablePortletApplication) o;
5354 result.setDescription(pa.getDescription());
55 result.setTitle(pa.getName());
56 result.setKey(KEY_PREFIX + pa.getName());
57 result.setType(ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION);
58 result.setClassName(pa.getClass().getName());
5960 MultiHashMap fieldMap = new MultiHashMap();
61 fieldMap.put(ID, pa.getName());
6263 Collection fields = pa.getMetadata().getFields();
64for (Iterator fieldIter = fields.iterator(); fieldIter.hasNext();)
65 {
66 LocalizedField field = (LocalizedField) fieldIter.next();
67 fieldMap.put(field.getName(), field.getValue());
68//this.fields.add(field.getName());69 }
7071 result.setFields(fieldMap);
72 }
7374return result;
75 }
7677 }