public void deleteCategory(String id, String componentId) { Connection con = initCon(); try { // First delete all resources of category List<ResourceDetail> resources = getResourcesByCategory(id); ResourceDetail resource; for (int r = 0; r < resources.size(); r++) { resource = resources.get(r); ResourcesManagerDAO.deleteResource(con, resource.getId()); deleteIndex("Resource", resource.getId(), componentId); } // Then delete category itself ResourcesManagerDAO.deleteCategory(con, id); deleteIndex(id, "Category", componentId); } catch (Exception e) { throw new ResourcesManagerRuntimeException( "ResourcesManagerBmEJB.deleteCategory()", SilverpeasRuntimeException.ERROR, "resourcesManager.EX_DELETE_CATEGORY", e); } finally { fermerCon(con); } }
/** ** Gestion des ressources ** */ public String createResource(ResourceDetail resource) { Connection con = initCon(); try { String id = ResourcesManagerDAO.createResource(con, resource); resource.setId(id); createIndex_Resource(resource); return id; } catch (Exception e) { throw new ResourcesManagerRuntimeException( "ResourcesManagerBmEJB.createResource()", SilverpeasRuntimeException.ERROR, "resourcesManager.EX_CREATE_RESOURCE", e); } finally { fermerCon(con); } }
private void createIndex_Resource(ResourceDetail resource) { SilverTrace.info( "resourceManager", "resourceManagerBmEJB.createIndex_Resource()", "root.MSG_GEN_ENTER_METHOD", "resource = " + resource.toString()); FullIndexEntry indexEntry = null; if (resource != null) { // Index the Reservation indexEntry = new FullIndexEntry(resource.getInstanceId(), "Resource", resource.getId()); indexEntry.setTitle(resource.getName()); indexEntry.setPreView(resource.getDescription()); if (resource.getUpdateDate() != null) indexEntry.setCreationDate(resource.getUpdateDate()); else indexEntry.setCreationDate(resource.getCreationDate()); indexEntry.setCreationUser(resource.getCreaterId()); String categoryId = resource.getCategoryId(); if (StringUtil.isDefined(categoryId)) { CategoryDetail category = getCategory(categoryId); if (category != null) { String xmlFormName = category.getForm(); if (StringUtil.isDefined(xmlFormName)) { // indéxation du contenu du formulaire XML String xmlFormShortName = xmlFormName.substring(xmlFormName.indexOf("/") + 1, xmlFormName.indexOf(".")); PublicationTemplate pubTemplate; try { pubTemplate = PublicationTemplateManager.getInstance() .getPublicationTemplate(resource.getInstanceId() + ":" + xmlFormShortName); RecordSet set = pubTemplate.getRecordSet(); set.indexRecord(resource.getId(), xmlFormName, indexEntry); } catch (Exception e) { throw new ResourcesManagerRuntimeException( "ResourceManagerBmEJB.createIndex_Resource()", SilverpeasRuntimeException.ERROR, "resourcesManager.EX_CREATE_INDEX_FAILED", e); } } } } IndexEngineProxy.addIndexEntry(indexEntry); } }