public ProjectInstance dropProject(String projectName) throws IOException { try (AutoLock lock = prjMapLock.lockForWrite()) { if (projectName == null) throw new IllegalArgumentException("Project name not given"); ProjectInstance projectInstance = getProject(projectName); if (projectInstance == null) { throw new IllegalStateException("The project named " + projectName + " does not exist"); } if (projectInstance.getRealizationCount(null) != 0) { throw new IllegalStateException("The project named " + projectName + " can not be deleted because there's still realizations in it. Delete them first."); } logger.info("Dropping project '" + projectInstance.getName() + "'"); crud.delete(projectInstance); BadQueryHistoryManager.getInstance(config).removeBadQueryHistory(projectName); clearL2Cache(projectName); return projectInstance; } }
public ProjectInstance dropProject(String projectName) throws IOException { try (AutoLock lock = prjMapLock.lockForWrite()) { if (projectName == null) throw new IllegalArgumentException("Project name not given"); ProjectInstance projectInstance = getProject(projectName); if (projectInstance == null) { throw new IllegalStateException("The project named " + projectName + " does not exist"); } if (projectInstance.getRealizationCount(null) != 0) { throw new IllegalStateException("The project named " + projectName + " can not be deleted because there's still realizations in it. Delete them first."); } logger.info("Dropping project '" + projectInstance.getName() + "'"); crud.delete(projectInstance); BadQueryHistoryManager.getInstance(config).removeBadQueryHistory(projectName); clearL2Cache(projectName); return projectInstance; } }