IBM Content Navigator ContentList 将属性设置为行项目
IBM Content Navigator ContentList setting properties to row item
我正在尝试构建自定义搜索,我遵循了红皮书中的示例。但是,我没有创建新功能,只是通过修改在 FileNet 数据库上执行的查询来修改当前搜索行为。根据示例,只有少数默认属性被设置和显示。我正在努力设置其他文档属性。
private static void buildResultStructure(JSONResultSetResponse jsonResultSet, MessageResources resources, Locale clientLocale) {
String[] states = new String[1];
states[0] = "isLocked";
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "multiStateIcon", false, states));
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "17px", "mimeTypeIcon", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.id"), "200px", "ID", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn("Class Name", "125px", "className", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"), "125px", "ModifiedBy", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"), "175px", "LastModified", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.version"), "50px", "Version", null, false));
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("thumbnail", "60px", "thumbnail", null, null));
com.ibm.json.java.JSONArray fieldsToDisplay = new com.ibm.json.java.JSONArray();
com.ibm.json.java.JSONObject jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "className");
jsonObj.put("displayName", "Class");
fieldsToDisplay.add(jsonObj);
jsonObj =new com.ibm.json.java.JSONObject();
jsonObj.put("field", "ModifiedBy");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "LastModified");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "Version");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.version"));
fieldsToDisplay.add(jsonObj);
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("content", "100%", "content", fieldsToDisplay, null));
}
首先转到文件SamplePluginSearchServiceP8.java
和 buildP8ResultStructure 函数。
删除不必要的列。
使用相关格式添加新列
jsonResultSet.addColumn(new JSONResultSetColumn(" ", 你的列宽,你的字段名,可排序?, false));
执行此操作后,转到同一 java 文件上的 executeP8Search,
查看第 122 行,迭代返回查询值的 searchResults,
为每一行添加相关值。
JSONResultSetRow row = new JSONResultSetRow(sbId.toString(), doc.get_Name(), doc.get_MimeType(), 特权);
row.addAttribute("你的字段名", doc.isLocked(), JSONResultSetRow.TYPE_BOOLEAN, null, (new Boolean(doc.isLocked())).toString() );
//***请注意添加相关类型,string to string value, int, bool 等..
jsonResultSet.addRow(行);
别忘了用同样的方法修复 ContinueQueryService.java。
我正在尝试构建自定义搜索,我遵循了红皮书中的示例。但是,我没有创建新功能,只是通过修改在 FileNet 数据库上执行的查询来修改当前搜索行为。根据示例,只有少数默认属性被设置和显示。我正在努力设置其他文档属性。
private static void buildResultStructure(JSONResultSetResponse jsonResultSet, MessageResources resources, Locale clientLocale) {
String[] states = new String[1];
states[0] = "isLocked";
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "multiStateIcon", false, states));
jsonResultSet.addColumn(new JSONResultSetColumn(" ", "17px", "mimeTypeIcon", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.id"), "200px", "ID", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn("Class Name", "125px", "className", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"), "125px", "ModifiedBy", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"), "175px", "LastModified", null, false));
jsonResultSet.addColumn(new JSONResultSetColumn(resources.getMessage(clientLocale, "search.results.header.version"), "50px", "Version", null, false));
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("thumbnail", "60px", "thumbnail", null, null));
com.ibm.json.java.JSONArray fieldsToDisplay = new com.ibm.json.java.JSONArray();
com.ibm.json.java.JSONObject jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "className");
jsonObj.put("displayName", "Class");
fieldsToDisplay.add(jsonObj);
jsonObj =new com.ibm.json.java.JSONObject();
jsonObj.put("field", "ModifiedBy");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedByUser"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "LastModified");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.lastModifiedTimestamp"));
fieldsToDisplay.add(jsonObj);
jsonObj = new com.ibm.json.java.JSONObject();
jsonObj.put("field", "Version");
jsonObj.put("displayName", resources.getMessage(clientLocale, "search.results.header.version"));
fieldsToDisplay.add(jsonObj);
jsonResultSet.addMagazineColumn(new JSONResultSetColumn("content", "100%", "content", fieldsToDisplay, null));
}
首先转到文件SamplePluginSearchServiceP8.java 和 buildP8ResultStructure 函数。 删除不必要的列。 使用相关格式添加新列
jsonResultSet.addColumn(new JSONResultSetColumn(" ", 你的列宽,你的字段名,可排序?, false));
执行此操作后,转到同一 java 文件上的 executeP8Search, 查看第 122 行,迭代返回查询值的 searchResults, 为每一行添加相关值。
JSONResultSetRow row = new JSONResultSetRow(sbId.toString(), doc.get_Name(), doc.get_MimeType(), 特权);
row.addAttribute("你的字段名", doc.isLocked(), JSONResultSetRow.TYPE_BOOLEAN, null, (new Boolean(doc.isLocked())).toString() ); //***请注意添加相关类型,string to string value, int, bool 等..
jsonResultSet.addRow(行);
别忘了用同样的方法修复 ContinueQueryService.java。