/**
   * Updates the properties of a piece of content.
   *
   * @return success
   */
  @Override
  public void updateContentProperties(
      String spaceID,
      String contentID,
      String contentMimeType,
      Map<String, String> userProperties,
      String storeID)
      throws ResourceException {
    try {
      StorageProvider storage = storageProviderFactory.getStorageProvider(storeID);

      // Update content properties
      if (userProperties != null) {
        storage.setContentProperties(spaceID, contentID, userProperties);
      }
    } catch (NotFoundException e) {
      throw new ResourceNotFoundException("update properties for content", spaceID, contentID, e);
    } catch (StorageStateException e) {
      throw new ResourceStateException("update properties for content", spaceID, contentID, e);
    } catch (Exception e) {
      storageProviderFactory.expireStorageProvider(storeID);
      throw new ResourceException("update properties for content", spaceID, contentID, e);
    }
  }