private RulesProject getCurrentProject() { if (StringUtils.isBlank(currentProjectName)) { return null; } try { RulesUserSession rulesUserSession = WebStudioUtils.getRulesUserSession(FacesUtils.getSession()); UserWorkspace userWorkspace = rulesUserSession.getUserWorkspace(); return userWorkspace.getProject(currentProjectName, false); } catch (WorkspaceException | ProjectException e) { log.error(e.getMessage(), e); return null; } } }
private RulesProject getCurrentProject() { if (StringUtils.isBlank(currentProjectName)) { return null; } try { RulesUserSession rulesUserSession = WebStudioUtils.getRulesUserSession(FacesUtils.getSession()); UserWorkspace userWorkspace = rulesUserSession.getUserWorkspace(); return userWorkspace.getProject(currentProjectName, false); } catch (WorkspaceException | ProjectException e) { log.error(e.getMessage(), e); return null; } } }
@Override public boolean delete(FileData data) { try { String path = data.getName(); ArtefactAPI artefact = getArtefact(path); if (artefact == null) { return false; } if (artefact.hasProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION)) { throw new ProjectException("Project ''{0}'' is already marked for deletion!", null, path); } artefact.addProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION, ValueType.BOOLEAN, true); return true; } catch (CommonException e) { log.error(e.getMessage(), e); return false; } }
@Override public boolean delete(FileData data) { try { String path = data.getName(); ArtefactAPI artefact = getArtefact(path); if (artefact == null) { return false; } if (artefact.hasProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION)) { throw new ProjectException("Project ''{0}'' is already marked for deletion!", null, path); } artefact.addProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION, ValueType.BOOLEAN, true); return true; } catch (CommonException e) { log.error(e.getMessage(), e); return false; } }
@Override public boolean deleteHistory(String name, String version) { try { ArtefactAPI artefact = getArtefact(name); if (artefact == null) { return false; } if (version == null) { artefact.delete(getUser()); return true; } else { if (!artefact.hasProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION)) { throw new ProjectException("Project ''{0}'' isn't marked for deletion. The method deleteHistory() in JCR Repository is supported only for undelete and erase.", null, name); } artefact.removeProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION); return true; } } catch (CommonException e) { log.error(e.getMessage(), e); return false; } }
@Override public boolean deleteHistory(FileData data) { String name = data.getName(); String version = data.getVersion(); try { ArtefactAPI artefact = getArtefact(name); if (artefact == null) { return false; } if (version == null) { CommonUser user = data.getAuthor() == null ? getUser() : new CommonUserImpl(data.getAuthor()); artefact.delete(user); return true; } else { if (!artefact.hasProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION)) { throw new ProjectException("Project ''{0}'' isn't marked for deletion. The method deleteHistory() in JCR Repository is supported only for undelete and erase.", null, name); } artefact.removeProperty(ArtefactProperties.PROP_PRJ_MARKED_4_DELETION); return true; } } catch (CommonException e) { log.error(e.getMessage(), e); return false; } }