Index: lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java =================================================================== diff -u -rba4cb0681d080596444ca44c644a8ea0fdd8e743 -rfe0a5324254ef622171304b5a01341d99e7b991a --- lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java (.../QbCollectionController.java) (revision ba4cb0681d080596444ca44c644a8ea0fdd8e743) +++ lams_central/src/java/org/lamsfoundation/lams/web/qb/QbCollectionController.java (.../QbCollectionController.java) (revision fe0a5324254ef622171304b5a01341d99e7b991a) @@ -178,6 +178,20 @@ qbService.addCollection(getUserId(), name); } + @RequestMapping("/changeCollectionName") + @ResponseBody + public String changeCollectionName(@RequestParam long collectionUid, @RequestParam String name) { + Collection collections = qbService.getUserCollections(getUserId()); + name = name.trim(); + for (QbCollection collection : collections) { + if (!collection.getUid().equals(collectionUid) && name.equalsIgnoreCase(collection.getName())) { + return "false"; + } + } + qbService.changeCollectionName(collectionUid, name); + return "true"; + } + @RequestMapping("/removeCollection") @ResponseBody public void removeCollection(@RequestParam long collectionUid) { Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java =================================================================== diff -u -rba4cb0681d080596444ca44c644a8ea0fdd8e743 -rfe0a5324254ef622171304b5a01341d99e7b991a --- lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision ba4cb0681d080596444ca44c644a8ea0fdd8e743) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/IQbService.java (.../IQbService.java) (revision fe0a5324254ef622171304b5a01341d99e7b991a) @@ -96,4 +96,6 @@ QbCollection getCollection(long collectionUid); int getCountQuestionActivities(long qbQuestionUid); + + void changeCollectionName(long collectionUid, String name); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java =================================================================== diff -u -rba4cb0681d080596444ca44c644a8ea0fdd8e743 -rfe0a5324254ef622171304b5a01341d99e7b991a --- lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision ba4cb0681d080596444ca44c644a8ea0fdd8e743) +++ lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision fe0a5324254ef622171304b5a01341d99e7b991a) @@ -457,10 +457,18 @@ return qbDAO.find(QbCollection.class, collectionUid); } + @Override public int getCountQuestionActivities(long qbQuestionUid) { return qbDAO.getCountQuestionActivities(qbQuestionUid); } + @Override + public void changeCollectionName(long collectionUid, String name) { + QbCollection collection = getCollection(collectionUid); + collection.setName(name); + qbDAO.update(collection); + } + public void setQbDAO(IQbDAO qbDAO) { this.qbDAO = qbDAO; }