예제 #1
0
 @Override
 public void rename(StoredObject so, String newName, String user) {
   try {
     lock();
     if (so.getId().equals(fRootFolder.getId())) {
       throw new CmisInvalidArgumentException("Root folder cannot be renamed.");
     }
     if (so instanceof Fileable) {
       for (String folderId : ((Fileable) so).getParentIds()) {
         Folder folder = (Folder) getObjectById(folderId);
         if (hasChild(folder, newName)) {
           throw new CmisNameConstraintViolationException(
               "Cannot rename object to "
                   + newName
                   + ". This path already exists in parent "
                   + getFolderPath(folder.getId())
                   + ".");
         }
       }
     }
     so.setName(newName);
   } finally {
     unlock();
   }
 }