package net.kittyandbear;
import java.net.MalformedURLException;
import java.net.URL;
public class NirvanixConnectionCLI
{
private String apiHostName;
private String userName;
private String password;
private String appName;
private String appKey;
private String storageFolder;
private URL apiAuthenticationUrl = null;
public static void main( String[] args ) throws Exception
{
long startTime = System.currentTimeMillis();
long endTime = 0;
NirvanixConnectionCLI main = new NirvanixConnectionCLI();
try
{
main.parseArguments( args );
}catch( IllegalArgumentException ie )
{
System.out.println( ie.getMessage() );
System.exit( 1 );
}
NirvanixConnection nirvanix = new NirvanixConnection( main.apiAuthenticationUrl , main.userName , main.appName );
if( nirvanix != null )
{
System.out.println( "Connection to " + main.apiHostName );
System.out.println( "Nirvanix SDK version = " + nirvanix.getNirvanixSDKVersion() );
System.out.println( "Account User Name = " + nirvanix.getAccountUserName() );
System.out.println( "Account Email Address = " + nirvanix.getAccountUserEmailAddress() );
System.out.println( "session token = " + nirvanix.getSessionToken() );
}
endTime = System.currentTimeMillis();
System.out.println( "Finished in " + ( endTime - startTime ) + " milliseconds " );
}
private void parseArguments( String[] args )
{
if( args != null && args.length != 6 )
{
throw new IllegalArgumentException( "ERROR: " + args.length + " is incorrect number of parameters, usage: java -jar NirvanixConnectionCLI-" + NirvanixConnection.CLASSVERSION
+ " username password appname appkey folder APIhostname" );
}
userName = args[0];
password = args[1];
appName = args[2];
appKey = args[3];
storageFolder = args[4];
apiHostName = args[5];
if( !appKey.contains( "-" ) )
{
throw new IllegalArgumentException( "ERROR: AppKey should contain a - " );
}
String urlString = "https://" + apiHostName + "/ws/Authentication/Login.ashx?appKey=" + appKey + "&username=" + userName + "&password=" + password
+ "&output=json";
try
{
apiAuthenticationUrl = new URL( urlString );
}catch( MalformedURLException e )
{
throw new IllegalArgumentException( "ERROR: apiHostName becomes part of a malformed URL " + urlString );
}
}
} //end class