Difference between revisions of "Home Library FTPClient"

From Gcube Wiki
Jump to: navigation, search
(Usage)
(Usage)
Line 49: Line 49:
 
To check the correct behavior of all features:
 
To check the correct behavior of all features:
 
<source lang="java">
 
<source lang="java">
 +
FTPClient client = ..
 
client.test();
 
client.test();
 
</source>
 
</source>
Line 61: Line 62:
 
=== Example ===
 
=== Example ===
 
<source lang="java">
 
<source lang="java">
 +
FTPClient client = ..
 
client.currentDirectory();
 
client.currentDirectory();
 
</source>
 
</source>
Line 77: Line 79:
 
=== Example ===
 
=== Example ===
 
<source lang="java">
 
<source lang="java">
 +
FTPClient client = ..
 
client.currentDirectory();
 
client.currentDirectory();
 
</source>
 
</source>
Line 93: Line 96:
 
=== Example ===
 
=== Example ===
 
<source lang="java">
 
<source lang="java">
 +
FTPClient client = ..
 
File myFile = ..
 
File myFile = ..
 
client.upload(myFile, myFile.getName(), "my new file");
 
client.upload(myFile, myFile.getName(), "my new file");
Line 98: Line 102:
  
 
== List a directory ==
 
== List a directory ==
To list the content of a directory.
+
To list the content of the current directory.
<source lang="bash">
+
<source lang="java">
java -jar home-library-cli-<$version>-jar-with-dependencies.jar ls [directory]
+
FTPFile[] list()
 
</source>
 
</source>
 
Optional arguments:
 
* '''directory''': the absolute path of the directory to list (by default the content of the '''ROOT_PATH''' will be shown).
 
  
 
=== Example ===
 
=== Example ===
<source lang="bash">
+
<source lang="java">
user@my-pc:~$ java -jar home-library-cli-1.0.0-20160324.155028-1-jar-with-dependencies.jar ls myFolder
+
FTPClient client = ..
 
+
FTPFile[] myFiles = client.list();
param N.0: ls
+
param N.1: myFolder
+
Response Code : 200
+
1 items found.
+
myFolder/image.jpg
+
 
</source>
 
</source>
  
== Remove files or directories ==
+
== Remove files ==
To remove files or directories:
+
To remove files:
<source lang="bash">
+
<source lang="java">
java -jar home-library-cli-<$version>-jar-with-dependencies.jar rm fileOrDirectory
+
void deleteFile(String path)
 
</source>
 
</source>
  
Mandatory arguments:
+
Arguments:
* '''fileOrDirectory''': the absolute path of the directory or file to remove.
+
* '''path''': the path of file to remove.
  
 
=== Example ===
 
=== Example ===
  
Remove a file:
+
<source lang="java">
<source lang="bash">
+
FTPClient client = ..
user@my-pc:~$ java -jar home-library-cli-1.0.0-20160324.155028-1-jar-with-dependencies.jar rm myFolder/image.jpg
+
String myFilename = ..
 +
client.deleteFile(myFilename);
 +
</source>
  
param N.0: rm
+
== Remove directories ==
param N.1: myFolder/image.jpg
+
To remove directories:
Response Code : 200
+
<source lang="java">
/myFolder/image.jpg deleted.
+
void deleteDirectory(String path)
 
</source>
 
</source>
  
Remove a directory:
+
Arguments:
<source lang="bash">
+
* '''path''': the path of directory to remove.
user@my-pc:~$ java -jar home-library-cli-1.0.0-20160324.155028-1-jar-with-dependencies.jar rm myFolder
+
  
param N.0: rm
+
=== Example ===
param N.1: myFolder
+
 
Response Code : 200
+
<source lang="java">
myFolder deleted.
+
FTPClient client = ..
 +
String myDir = ..
 +
client.deleteDirectory(myDir);
 
</source>
 
</source>

Revision as of 12:32, 3 May 2016

Introduction

Home Library FTPClient is a Java library providing a simple interface to Home Library WebApp.

This library has following features:

  • Current Directory: returns the pathname of the current working directory.
  • Change Directory: to create a directory in the root or in a subfolder.
  • Create Directory: to create a directory in the root or in a subfolder.
  • List Directory: to list the content of a directory.
  • Upload file: to upload a file in a directory.
  • Remove files and folders: to remove a file or a directory (including subdirectories).
  • Test: a simple test to check the correct behavior of the features above.

The following sections will discuss each of these commands in turn, and discuss how to use them with Home Library FTPClient.

Configuration File

Home Library CLI is equipped with a simple configuration file to set the parameters and initial settings.

The fields are:

  • URL_REPOSITORY: the URL of Home Library WebApp.
  • USERNAME: username to connect to Home Library WebApp.
  • PASSWORD: password to connect to Home Library WebApp.
  • LOGIN: the portal login of the user who is using the library.
  • ROOT_PATH : the ROOT of the VRE folder where the files and directory will be created.

The Configuration File cannot be modified by the final user, but it allows to use the CLI in different context.

Usage

Prerequisites

Home Library FTPClient is a jar-with-depencencies, you only need a Java 7 JDK.

Download the latest release from here:

http://maven.research-infrastructures.eu:8081/nexus/content/repositories/gcube-snapshots/org/gcube/common/home-library-cli/.

Start

A FTPClient is created with:

FTPClient client = new FTPClient();

Run the test

To check the correct behavior of all features:

FTPClient client = ..
client.test();

Current Directory

To know the current working directory:

public String currentDirectory()

Example

FTPClient client = ..
client.currentDirectory();

Create a directory

To create a new remote directory in the current working one.

void createDirectory(String directoryName, String description)

Arguments:

  • directoryName: the name of the new folder.
  • description: the description for the new directory.

Example

FTPClient client = ..
client.currentDirectory();

Upload a file

To upload a file, if it does not already exist.

void upload(File file, String name, String description)

Mandatory arguments:

  • file: the file to upload.
  • name: a name for the file
  • description: a description for the file.

Example

FTPClient client = ..
File myFile = ..
client.upload(myFile, myFile.getName(), "my new file");

List a directory

To list the content of the current directory.

FTPFile[] list()

Example

FTPClient client = ..
FTPFile[] myFiles = client.list();

Remove files

To remove files:

void deleteFile(String path)

Arguments:

  • path: the path of file to remove.

Example

FTPClient client = ..
String myFilename = ..
client.deleteFile(myFilename);

Remove directories

To remove directories:

void deleteDirectory(String path)

Arguments:

  • path: the path of directory to remove.

Example

FTPClient client = ..
String myDir = ..
client.deleteDirectory(myDir);