}\r
\r
/**\r
- * Create required indices (aka indexes) in database tables not associated\r
+ * Create required indexes (aka indices) in database tables not associated\r
* with any specific tenant.\r
* \r
* @throws Exception \r
final String NUXEO_FULLTEXT_TABLE_NAME = "fulltext";\r
final String NUXEO_HIERARCHY_TABLE_NAME = "hierarchy";\r
\r
- Map<String,String> indexableFields = new HashMap<String,String>();\r
- indexableFields.put("tenantid", COLLECTIONSPACE_CORE_TABLE_NAME);\r
- indexableFields.put("updatedat", COLLECTIONSPACE_CORE_TABLE_NAME);\r
- indexableFields.put("jobid", NUXEO_FULLTEXT_TABLE_NAME);\r
- indexableFields.put("name", NUXEO_HIERARCHY_TABLE_NAME);\r
+ Map<Integer,List<String>> fieldsToIndex = new HashMap<Integer,List<String>>();\r
+ fieldsToIndex.put(1, new ArrayList(Arrays.asList(COLLECTIONSPACE_CORE_TABLE_NAME, "tenantid")));\r
+ fieldsToIndex.put(2, new ArrayList(Arrays.asList(COLLECTIONSPACE_CORE_TABLE_NAME, "updatedat")));\r
+ fieldsToIndex.put(3, new ArrayList(Arrays.asList(NUXEO_FULLTEXT_TABLE_NAME, "jobid")));\r
+ fieldsToIndex.put(4, new ArrayList(Arrays.asList(NUXEO_HIERARCHY_TABLE_NAME, "name")));\r
\r
// Invoke existing post-init code to create these indexes,\r
// sending in the set of values above, in contrast to\r
DataSource dataSource = JDBCTools.getDataSource(JDBCTools.NUXEO_REPOSITORY_NAME);\r
AddIndices addindices = new AddIndices();\r
List<Field> fields = new ArrayList<Field>();\r
- for (Map.Entry<String,String> entry : indexableFields.entrySet()) {\r
+ for (Map.Entry<Integer,List<String>> entry : fieldsToIndex.entrySet()) {\r
Field field = new Field();\r
- field.setCol(entry.getKey());\r
- field.setTable(entry.getValue());\r
+ field.setTable(entry.getValue().get(0)); // Table name from List item 0\r
+ field.setCol(entry.getValue().get(1)); // Column name from List item 1\r
fields.add(field);\r
}\r
addindices.onRepositoryInitialized(dataSource, null, fields, null);\r