286756 Reusable asset icon cannot be shown in search result of published site
diff --git a/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java b/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
index 08d4608..a2b5970 100644
--- a/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
+++ b/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
@@ -3,7 +3,10 @@
//------------------------------------------------------------------------------
package org.eclipse.epf.web.search.utils;
+import java.util.LinkedList;
import java.util.List;
+import java.util.ListIterator;
+
import com.ibm.icu.util.StringTokenizer;
/**
@@ -467,6 +470,23 @@
}
public static String convertFirstLetterCase(String s, String[] keyWords) {
+ //need to rearrange the KeyWords list in order to avoid unexpected replacement.
+ List newKeyWordList = new LinkedList();
+ for(int i = 0; i < keyWords.length; i++){
+ ListIterator iter = newKeyWordList.listIterator();
+ int index = 0;
+ while(iter.hasNext()){
+ String keyWord = (String)iter.next();
+ if(keyWord.toLowerCase().indexOf(keyWords[i].toLowerCase()) >= 0){
+ break;
+ }
+ index++;
+ }
+ newKeyWordList.add(index, keyWords[i]);
+ }
+ keyWords = (String[])newKeyWordList.toArray(new String[]{});
+
+
StringBuffer sb = new StringBuffer(s.substring(0, 1).toUpperCase()
+ s.substring(1).toLowerCase());
int foundIndex;