フォルダーのコピー

フォルダーのコピー

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

Documents and Media APIを使用すると、リポジトリ内のフォルダーをコピーできます。 ただし、異なるリポジトリ間でフォルダーをコピーすることはできません。 また、フォルダーをコピーすると、その内容もコピーされることに注意してください。

フォルダーをコピーするには、 DLAppService method copyFolder使用します。

copyFolder(long repositoryId, long sourceFolderId, long parentFolderId, String name, 
        String description, ServiceContext serviceContext)

メソッドとそのパラメーターの詳細については、その Javadoc参照してください。

このメソッドを使用してフォルダーをコピーするには、次の手順に従います。

  1. DLAppServiceへの参照を取得します。

    @Reference
    private DLAppService _dlAppService;
    

    詳細については、入門チュートリアルの「サービスリファレンス 取得

」のセクションを参照してください。

2 copyFolder メソッドの引数を設定するために必要なデータを取得します。 これを行う方法は、ユースケースによって異なります。 この例のコピー操作は、デフォルトのサイトリポジトリで行われ、フォルダーの既存の名前と説明を保持します。 したがって、フォルダのグループID(デフォルトのサイトリポジトリを指定するため)、名前、および説明が必要です。 また、この例の宛先フォルダーはリポジトリのルートフォルダーであるため、親フォルダーIDは不要であることに注意してください。Liferay DXPは、リポジトリのルートフォルダーを指定するための定数を提供します。

次のコードでは、 ParamUtil はリクエスト(javax.portlet.ActionRequest)からフォルダーのIDを取得し、サービス参照の getFolder メソッドは対応するフォルダーオブジェクトを取得します。 フォルダの getGroupId()のgetName()、及び のgetDescription() の方法、次いで、それぞれのフォルダのグループID、名前、説明を得ます。

   long folderId = ParamUtil.getLong(actionRequest, "folderId");
  
   Folder folder = _dlAppService.getFolder(folderId);
   long groupId = folder.getGroupId();
   String folderName = folder.getName();
   String folderDescription = folder.getDescription();
  
   ServiceContext serviceContext = ServiceContextFactory.getInstance(
               DLFolder.class.getName(), actionRequest);

リポジトリIDとフォルダIDの取得の詳細については、リポジトリとフォルダの指定に関する 入門チュートリアルの セクションを参照してください。 ServiceContext詳細については、チュートリアル ServiceContextについて参照してください。

3 前の手順のデータを使用して、サービス参照の copyFolder メソッドを呼び出します。 この例では、 DLFolderConstants 定数 DEFAULT_PARENT_FOLDER_ID を使用して、リポジトリのルートフォルダーを宛先フォルダーとして指定します。

   _dlAppService.copyFolder(
           groupId, folderId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, 
           folderName, folderDescription, serviceContext);
  </ol> 

これらの値は、コピー操作に合わせて変更できることに注意してください。 たとえば、コピーがデフォルトのサイトリポジトリ以外のリポジトリで行われる場合、グループIDの代わりにそのリポジトリのIDを指定します。 別の宛先フォルダーを指定したり、新しいフォルダーの名前や説明を変更したりすることもできます。

関連トピック

Documents and Media APIの使用開始

サービスコンテキストについて

フォルダーを作成する

フォルダーの更新

フォルダーを削除する

フォルダーとファイルの移動

« エンティティのコピーと移動フォルダーとファイルの移動 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています