Exemplo n.º 1
0
  /**
   * This method copies the content found in space srcSpaceID with id srcContentID to the space
   * destSpaceID within the same content store (storeID) to the id of destContentID.
   *
   * @param srcStoreID of content to copy
   * @param srcSpaceID of content to copy
   * @param srcContentID of content to copy
   * @param destSpaceID of copied content
   * @param destContentID of copied content
   * @param destStoreID of copied content
   * @return MD5 checksum of the content as computed by the storage provider
   * @throws ResourceException
   */
  @Override
  public String copyContent(
      String srcStoreID,
      String srcSpaceID,
      String srcContentID,
      String destStoreID,
      String destSpaceID,
      String destContentID)
      throws ResourceException {
    BrokeredStorageProvider srcProvider = getStorageProvider(srcStoreID);
    BrokeredStorageProvider destProvider = getStorageProvider(destStoreID);

    if (srcProvider.equals(destProvider)) {
      return copyContent(
          srcProvider, srcSpaceID, srcContentID, destSpaceID, destContentID, srcStoreID);
    } else {
      return copyContentBetweenStorageProviders(
          srcProvider,
          srcSpaceID,
          srcContentID,
          srcStoreID,
          destProvider,
          destSpaceID,
          destContentID,
          destStoreID);
    }
  }