/* * See COPYING for license information. */ package com.rackspacecloud.client.cloudfiles.sample; //import org.apache.log4j.Logger; import org.apache.commons.lang.StringUtils; import org.apache.commons.cli.*; import org.apache.http.HttpException; import java.io.IOException; import java.security.NoSuchAlgorithmException; import com.rackspacecloud.client.cloudfiles.*; public class FilesMakeContainer { //private static final Logger logger = Logger.getLogger(FilesMakeContainer.class); public static void main (String args[]) throws NoSuchAlgorithmException, FilesException { //Build the command line options Options options = addCommandLineOptions (); if (args.length <= 0) printHelp (options); CommandLineParser parser = new GnuParser(); try { // parse the command line arguments CommandLine line = parser.parse( options, args ); if (line.hasOption("help")) printHelp (options); String containerName = null; if (line.hasOption("container")) { containerName = line.getOptionValue("container"); createContaier (containerName); }//end if (line.hasOption("container")) else if (args.length > 0) { //If we got this far there are command line arguments but none of what we expected treat the first one as the Container name containerName = args[0]; createContaier (containerName); } else { System.err.println ("You must provide the -container with a valid value for this to work !"); System.exit (-1); } }//end try catch( ParseException err ) { System.err.println( "Please see the logs for more details. Error Message: "+err.getMessage() ); err.printStackTrace(System.err); }//catch( ParseException err ) catch ( Exception err) { System.err.println( "Please see the logs for more details. Error Message: "+err.getMessage() ); }//catch ( IOException err) }//end main private static void createContaier (String containerName) throws HttpException, IOException, FilesException { if (!StringUtils.isNotBlank(containerName) || containerName.indexOf('/') != -1) { System.err.println ("You must provide a valid value for the Container name !"); System.exit (-1); }//if (!StringUtils.isNotBlank(containerName)) //Check to see if a Container with this name already exists FilesClient client = new FilesClient(); if ( client.login() ) { client.createContainer(containerName); } else System.out.println ("Failed to login to Cloud Files!"); System.exit(0); } private static void printHelp (Options options) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp( "MkDir [-container] ContainerName", options ); }//private static void printHelp () @SuppressWarnings("static-access") private static Options addCommandLineOptions () { Option help = new Option( "help", "print this message" ); Option container = OptionBuilder.withArgName("container") .hasArg (true) .withDescription ("Name of container to create.") .create ("container"); Options options = new Options(); options.addOption(help); options.addOption(container); return options; } }