private void deletePage(final SPage sPage) throws SObjectModificationException { final SPageLogBuilder logBuilder = getPageLog(ActionType.DELETED, "Deleting page named: " + sPage.getName()); try { deleteProfileEntry(sPage); for (final PageServiceListener pageServiceListener : pageServiceListeners) { pageServiceListener.pageDeleted(sPage); } recorder.recordDelete(new DeleteRecord(sPage), PAGE); initiateLogBuilder(sPage.getId(), SQueriableLog.STATUS_OK, logBuilder, METHOD_DELETE_PAGE); } catch (SRecorderException | SBonitaReadException | SProfileEntryNotFoundException | SProfileEntryDeletionException | SDeletionException re) { initiateLogBuilder(sPage.getId(), SQueriableLog.STATUS_FAIL, logBuilder, METHOD_DELETE_PAGE); throw new SObjectModificationException(re); } }
private void deletePage(final SPage sPage) throws SObjectModificationException { final SPageLogBuilder logBuilder = getPageLog(ActionType.DELETED, "Deleting page named: " + sPage.getName()); try { deleteProfileEntry(sPage); for (final PageServiceListener pageServiceListener : pageServiceListeners) { pageServiceListener.pageDeleted(sPage); } recorder.recordDelete(new DeleteRecord(sPage), PAGE); initiateLogBuilder(sPage.getId(), SQueriableLog.STATUS_OK, logBuilder, METHOD_DELETE_PAGE); } catch (SRecorderException | SBonitaReadException | SProfileEntryNotFoundException | SProfileEntryDeletionException | SDeletionException re) { initiateLogBuilder(sPage.getId(), SQueriableLog.STATUS_FAIL, logBuilder, METHOD_DELETE_PAGE); throw new SObjectModificationException(re); } }
@Override public SPage updatePage(final long pageId, final EntityUpdateDescriptor entityUpdateDescriptor) throws SObjectModificationException, SObjectAlreadyExistsException, SInvalidPageTokenException { final SPageLogBuilder logBuilder = getPageLog(ActionType.UPDATED, "Update a page with id " + pageId); final String logMethodName = METHOD_UPDATE_PAGE; try { final SPage sPage = persistenceService.selectById(new SelectByIdDescriptor<>(SPage.class, pageId)); checkPageDuplicate(sPage, entityUpdateDescriptor, logBuilder, logMethodName); final String oldPageName = sPage.getName(); recorder.recordUpdate(UpdateRecord.buildSetFields(sPage, entityUpdateDescriptor), PAGE); updatePageNameInProfileEntry(entityUpdateDescriptor, oldPageName); initiateLogBuilder(pageId, SQueriableLog.STATUS_OK, logBuilder, logMethodName); return sPage; } catch (SRecorderException | SBonitaReadException | SProfileEntryUpdateException e) { initiateLogBuilder(pageId, SQueriableLog.STATUS_FAIL, logBuilder, logMethodName); throw new SObjectModificationException(e); } }
@Override public void updatePageContent(final long pageId, final byte[] content, final String contentName) throws SObjectModificationException, SInvalidPageZipException, SInvalidPageTokenException, SObjectAlreadyExistsException { final SPageLogBuilder logBuilder = getPageLog(ActionType.UPDATED, "Update a page with name " + pageId); final Properties pageProperties = readPageZip(content, false); try { final SPageContent sPageContent = persistenceService.selectById(new SelectByIdDescriptor<>( SPageContent.class, pageId)); final SPageUpdateContentBuilder builder = BuilderFactory.get(SPageUpdateContentBuilderFactory.class) .createNewInstance(new EntityUpdateDescriptor()); builder.updateContent(content); recorder.recordUpdate(UpdateRecord.buildSetFields(sPageContent, builder.done()), PAGE); initiateLogBuilder(pageId, SQueriableLog.STATUS_OK, logBuilder, METHOD_UPDATE_PAGE); } catch (SRecorderException | SBonitaReadException re) { initiateLogBuilder(pageId, SQueriableLog.STATUS_FAIL, logBuilder, METHOD_UPDATE_PAGE); throw new SObjectModificationException(re); } final SPageUpdateBuilder pageBuilder = BuilderFactory.get(SPageUpdateBuilderFactory.class) .createNewInstance(new EntityUpdateDescriptor()); pageBuilder.updateContentName(contentName); pageBuilder.updateDescription(pageProperties.getProperty(PROPERTIES_DESCRIPTION)); pageBuilder.updateDisplayName(pageProperties.getProperty(PROPERTIES_DISPLAY_NAME)); pageBuilder.updateName(pageProperties.getProperty(PROPERTIES_NAME)); pageBuilder.updateContentType(pageProperties.getProperty(PROPERTIES_CONTENT_TYPE, SContentType.PAGE)); final SPage sPage = updatePage(pageId, pageBuilder.done()); for (final PageServiceListener pageServiceListener : pageServiceListeners) { pageServiceListener.pageUpdated(sPage, content); } }
@Override public SPage updatePage(final long pageId, final EntityUpdateDescriptor entityUpdateDescriptor) throws SObjectModificationException, SObjectAlreadyExistsException, SInvalidPageTokenException { final SPageLogBuilder logBuilder = getPageLog(ActionType.UPDATED, "Update a page with id " + pageId); final String logMethodName = METHOD_UPDATE_PAGE; try { final SPage sPage = persistenceService.selectById(new SelectByIdDescriptor<>(SPage.class, pageId)); checkPageDuplicate(sPage, entityUpdateDescriptor, logBuilder, logMethodName); final String oldPageName = sPage.getName(); recorder.recordUpdate(UpdateRecord.buildSetFields(sPage, entityUpdateDescriptor), PAGE); updatePageNameInProfileEntry(entityUpdateDescriptor, oldPageName); initiateLogBuilder(pageId, SQueriableLog.STATUS_OK, logBuilder, logMethodName); return sPage; } catch (SRecorderException | SBonitaReadException | SProfileEntryUpdateException e) { initiateLogBuilder(pageId, SQueriableLog.STATUS_FAIL, logBuilder, logMethodName); throw new SObjectModificationException(e); } }
@Override public void updatePageContent(final long pageId, final byte[] content, final String contentName) throws SObjectModificationException, SInvalidPageZipException, SInvalidPageTokenException, SObjectAlreadyExistsException { final SPageLogBuilder logBuilder = getPageLog(ActionType.UPDATED, "Update a page with name " + pageId); final Properties pageProperties = readPageZip(content, false); try { final SPageContent sPageContent = persistenceService.selectById(new SelectByIdDescriptor<>( SPageContent.class, pageId)); final SPageUpdateContentBuilder builder = BuilderFactory.get(SPageUpdateContentBuilderFactory.class) .createNewInstance(new EntityUpdateDescriptor()); builder.updateContent(content); recorder.recordUpdate(UpdateRecord.buildSetFields(sPageContent, builder.done()), PAGE); initiateLogBuilder(pageId, SQueriableLog.STATUS_OK, logBuilder, METHOD_UPDATE_PAGE); } catch (SRecorderException | SBonitaReadException re) { initiateLogBuilder(pageId, SQueriableLog.STATUS_FAIL, logBuilder, METHOD_UPDATE_PAGE); throw new SObjectModificationException(re); } final SPageUpdateBuilder pageBuilder = BuilderFactory.get(SPageUpdateBuilderFactory.class) .createNewInstance(new EntityUpdateDescriptor()); pageBuilder.updateContentName(contentName); pageBuilder.updateDescription(pageProperties.getProperty(PROPERTIES_DESCRIPTION)); pageBuilder.updateDisplayName(pageProperties.getProperty(PROPERTIES_DISPLAY_NAME)); pageBuilder.updateName(pageProperties.getProperty(PROPERTIES_NAME)); pageBuilder.updateContentType(pageProperties.getProperty(PROPERTIES_CONTENT_TYPE, SContentType.PAGE)); final SPage sPage = updatePage(pageId, pageBuilder.done()); for (final PageServiceListener pageServiceListener : pageServiceListeners) { pageServiceListener.pageUpdated(sPage, content); } }
SPage insertPage(final SPage page, final byte[] content) throws SObjectAlreadyExistsException, SObjectCreationException { final SPageLogBuilder logBuilder = getPageLog(ActionType.CREATED, "Adding a new page with name " + page.getName()); try { final SPageWithContent pageContent = new SPageWithContentImpl(page, content); final SPage pageByName = checkIfPageAlreadyExists(page); if (null != pageByName) { initiateLogBuilder(page.getId(), SQueriableLog.STATUS_FAIL, logBuilder, METHOD_NAME_ADD_PAGE); throwAlreadyExistsException(pageByName.getName()); } recorder.recordInsert(new InsertRecord(pageContent), PAGE); page.setId(pageContent.getId()); notifyPageInsert(page, content); return page; } catch (final SObjectCreationException ce) { throw ce; } catch (SRecorderException | SBonitaReadException re) { throw new SObjectCreationException(re); } }
SPage insertPage(final SPage page, final byte[] content) throws SObjectAlreadyExistsException, SObjectCreationException { final SPageLogBuilder logBuilder = getPageLog(ActionType.CREATED, "Adding a new page with name " + page.getName()); try { final SPageWithContent pageContent = new SPageWithContentImpl(page, content); final SPage pageByName = checkIfPageAlreadyExists(page); if (null != pageByName) { initiateLogBuilder(page.getId(), SQueriableLog.STATUS_FAIL, logBuilder, METHOD_NAME_ADD_PAGE); throwAlreadyExistsException(pageByName.getName()); } recorder.recordInsert(new InsertRecord(pageContent), PAGE); page.setId(pageContent.getId()); notifyPageInsert(page, content); return page; } catch (final SObjectCreationException ce) { throw ce; } catch (SRecorderException | SBonitaReadException re) { throw new SObjectCreationException(re); } }