try
{
ContentTypeDefinitionVO htmlTemplateContentType = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithName("HTMLTemplate", db);
ContentTypeDefinitionVO pagePartTemplateContentType = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithName("PagePartTemplate", db);
Timer t = new Timer();
List<ContentVersionVO> componentContentVersionVOList = null;
if(pagePartTemplateContentType != null)
{
componentContentVersionVOList = ContentControllerProxy.getController().getLatestContentVersionVOListByContentTypeIdForSmallCollections(new Integer[]{htmlTemplateContentType.getId(), pagePartTemplateContentType.getId()}, db);
logger.info("Getting componentContentVersionVOList 1 " + componentContentVersionVOList.size() + " took: " + t.getElapsedTime());
//componentContentVersionVOList = ContentControllerProxy.getController().getLatestContentVersionVOListByContentTypeId(new Integer[]{htmlTemplateContentType.getId(), pagePartTemplateContentType.getId()}, db);
//logger.error("Getting componentContentVersionVOList 2 " + componentContentVersionVOList.size() + " took: " + t.getElapsedTime());
}
else
{
componentContentVersionVOList = ContentControllerProxy.getController().getLatestContentVersionVOListByContentTypeIdForSmallCollections(new Integer[]{htmlTemplateContentType.getId()}, db);
logger.info("Getting componentContentVersionVOList 1 " + componentContentVersionVOList.size() + " took: " + t.getElapsedTime());
//componentContentVersionVOList = ContentControllerProxy.getController().getLatestContentVersionVOListByContentTypeId(new Integer[]{htmlTemplateContentType.getId()}, db);
}
logger.warn("Getting componentContentVersionVOList " + componentContentVersionVOList.size() + " took: " + t.getElapsedTime());
templatesAndPagePartMap = new HashMap<String,List<ContentVO>>();
for(ContentVersionVO incompleteContentVersionVO : componentContentVersionVOList) //The version is not populated with version value
{
if(incompleteContentVersionVO != null)
{
ContentVO contentVO = ContentController.getContentController().getSmallContentVOWithId(incompleteContentVersionVO.getContentId(), db, null);
String groupNameDefault = "Unknown";
String descriptionDefault = "Unknown";
ContentVersionVO fullContentVersionVO = ContentVersionController.getContentVersionController().getContentVersionVOWithId(incompleteContentVersionVO.getId(), db);
String groupNameAttribute = ContentVersionController.getContentVersionController().getAttributeValue(fullContentVersionVO, "GroupName", false);
String descriptionAttribute = ContentVersionController.getContentVersionController().getAttributeValue(fullContentVersionVO, "Description", false);
logger.info("GroupInfo ContentVersionId:" + incompleteContentVersionVO.getId() + " - " + groupNameAttribute);
contentVO.getExtraProperties().put("GroupName", (groupNameAttribute == null ? groupNameDefault : groupNameAttribute));
contentVO.getExtraProperties().put("Description", (descriptionAttribute == null ? descriptionDefault : descriptionAttribute));
List<ContentVO> allComponents = templatesAndPagePartMap.get("all");
if(allComponents == null)
{
allComponents = new ArrayList<ContentVO>();
templatesAndPagePartMap.put("all", allComponents);
}
allComponents.add(contentVO);
logger.info("Adding " + contentVO.getName() + " to group " + contentVO.getName());
List<ContentVO> nameComponents = templatesAndPagePartMap.get(contentVO.getName());
if(nameComponents == null)
{
nameComponents = new ArrayList<ContentVO>();
templatesAndPagePartMap.put(contentVO.getName(), nameComponents);
}
nameComponents.add(contentVO);
logger.info("Adding " + contentVO.getName() + " to group " + contentVO.getName());
if(groupNameAttribute != null && !groupNameAttribute.equals(""))
{
String[] groupNames = groupNameAttribute.split(",");
for(String groupName : groupNames)
{
List<ContentVO> groupComponents = templatesAndPagePartMap.get(groupName.trim());
if(groupComponents == null)
{
groupComponents = new ArrayList<ContentVO>();
templatesAndPagePartMap.put(groupName.trim(), groupComponents);
}
groupComponents.add(contentVO);
logger.info("Adding " + contentVO.getName() + " to " + groupName.trim());
}
}
}
}
logger.warn("Done indexing took in " + CmsPropertyHandler.getContextRootPath() + ":" + templatesAndPagePartMap.size() + " took: " + t.getElapsedTime());
CacheController.cacheObject("componentContentsCache", cacheKey, templatesAndPagePartMap);
CacheController.cacheObject("componentContentsCache", cacheKey + "_preCacheDone", new Boolean(true));
}
catch (Exception e)