From 2efa12790b2603a4a15ad87f5bd040c9b6175e80 Mon Sep 17 00:00:00 2001
From: Peter Hormanns <peter.hormanns@hostsharing.net>
Date: Mon, 16 May 2011 15:46:34 +0200
Subject: [PATCH] latest version

---
 hsarjcli/src/de/hsadmin/cli/HSadmin.java |  631 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 310 insertions(+), 321 deletions(-)

diff --git a/hsarjcli/src/de/hsadmin/cli/HSadmin.java b/hsarjcli/src/de/hsadmin/cli/HSadmin.java
index 9c469d9..0cd457c 100644
--- a/hsarjcli/src/de/hsadmin/cli/HSadmin.java
+++ b/hsarjcli/src/de/hsadmin/cli/HSadmin.java
@@ -19,50 +19,51 @@
 import java.util.Map;
 import java.util.Properties;
 
-/// command line client for hsadmin
-public class HSadmin
-{
-	static String version = "1.0.8 (2009/June/05 17:25 MEST)";
+/** 
+ * command line client for hsadmin.
+ */
+public class HSadmin {
 	
-	static String loginURL = "https://agnes.ostwall195.de:8443/cas/v1/tickets";
-	static String servletURL = "https://agnes.ostwall195.de:8443/hsar/hsadmin/cli-interface/";
-	static String backendURL = "https://agnes.ostwall195.de:8443/hsar/backend";
-
-//	static String loginURL = "https://login.hostsharing.net:443/cas/v1/tickets";
-//	static String servletURL = "https://hsh93-test.hostsharing.net:443/hsar/hsadmin/cli-interface/";
-//	static String backendURL = "https://hsh93-test.hostsharing.net:443/hsar/backend";
+	private static String version = "CLI Client 2.0.0 (2011/May/21 09:00 MEST)";
 	
-	static Properties config;
-	static String userName;
-	static String passWord; 
-	static int verbosity = 0;
+	private static String loginURL = "https://login.hostsharing.net/cas/v1/tickets";
+	private static String servletURL = "https://admin.hostsharing.net/hsar/hsadmin/cli-interface/";
+	private static String backendURL = "https://admin.hostsharing.net:443/hsar/backend";
+	
+	private static Properties config;
+	private static String authenticatedUserName;
+	private static String passWord; 
+	private static String runAsUserName;
+	private static int verbosity = 0;
 
-	private static class PasswordMaskingThread extends Thread
-	{
-	    private boolean stop = false;
-	    
-	    public void interrupt() 
-	    {
-	    	stop = true;
-	    	super.interrupt();
-	    }
-	   
-	    public void run() {
-	        while(!stop) {
-	            try {
-	                Thread.sleep(50); // rate at which attempts to mask
-	            } catch (InterruptedException ie) {}
-	            // in case I was sleeping while stop was changed, don't print
-	            // I might be on the next line because of enter key being
-	            // pressed
-	            if (!stop) System.out.print("\rPassword:                         " + "\rPassword: " );
-	            System.out.flush();
-	        }
-	    }
+	private static class PasswordMaskingThread extends Thread {
+
+		private boolean stop = false;
+
+		public void interrupt() {
+			stop = true;
+			super.interrupt();
+		}
+
+		public void run() {
+			while (!stop) {
+				try {
+					Thread.sleep(50); // rate at which attempts to mask
+				} catch (InterruptedException ie) {
+				}
+				// in case I was sleeping while stop was changed, don't print
+				// I might be on the next line because of enter key being
+				// pressed
+				if (!stop) {
+					System.out.print("\rPassword:                         "
+								+ "\rPassword: ");
+				}
+				System.out.flush();
+			}
+		}
 	}
 	
-	static class HttpRequest
-	{
+	private static class HttpRequest {
 		private URL url;
 		private Map<String, List<String>> responseHeaders;
 		private StringBuilder requestData;
@@ -70,398 +71,386 @@
 		private String password;
 		private String username;
 		private String responseMessage;
-		
-		public HttpRequest(String url) 
-			throws MalformedURLException
-		{
-			this.url = new URL( url );
+
+		public HttpRequest(String url) throws MalformedURLException {
+			this.url = new URL(url);
 		}
 
-		public int post() throws IOException
-		{
+		public int post() throws IOException {
 			return doRequest("POST");
 		}
-		
-		public int put() throws IOException
-		{
+
+		public int put() throws IOException {
 			return doRequest("PUT");
 		}
-		
-		public int doRequest(String method) throws IOException
-		{
-			echoVerbose(method + ": " + url.toString() );
-			
-		    HttpURLConnection conn = (HttpURLConnection) url.openConnection();	        
-	        conn.setDoOutput(true);
-	        conn.setDoInput(true);
-	        conn.setUseCaches(false);
-	        conn.setAllowUserInteraction(false);
-	        conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded; charset=" + "UTF-8");
-	        if ( username != null )
-	        	conn.setRequestProperty("Authorization", createAuthorizationHeader(username, password) );
-	        conn.setRequestMethod(method);
-	        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
-	        if ( requestData == null ) 
-	        {
-		        if ( username != null )
-		        	addParam("username", username);
-		        if ( password != null )
-		        	addParam("password", password);
-	        }
-	        if ( requestData != null )
-	        	wr.write(requestData.toString());
-	        wr.flush();	        
 
-	        responseHeaders = conn.getHeaderFields();
-	        if (verbosity > 1)
-	        	echoResponseHeaders(conn);
-	        
-        	responseData = new StringBuilder();
-	        try
-	        {
-	        	BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "ISO-8859-1"));
-	        	String line;
-	        	while ((line = rd.readLine()) != null) {
-	        		responseData.append(line + "\n");
-	        	}
-	        	rd.close();
-	        }
-	        catch ( IOException exc )
-	        {
-	        }
-        	wr.close();
-	    
-        	responseMessage = conn.getResponseMessage();
-	        return conn.getResponseCode();
+		public int doRequest(String method) throws IOException {
+			echoVerbose(method + ": " + url.toString());
+			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+			conn.setDoOutput(true);
+			conn.setDoInput(true);
+			conn.setUseCaches(false);
+			conn.setAllowUserInteraction(false);
+			conn.setRequestProperty("Content-type",
+					"application/x-www-form-urlencoded; charset=" + "UTF-8");
+			if (username != null)
+				conn.setRequestProperty("Authorization",
+						createAuthorizationHeader(username, password));
+			conn.setRequestMethod(method);
+			OutputStreamWriter wr = new OutputStreamWriter(conn
+					.getOutputStream(), "UTF-8");
+			if (requestData == null) {
+				if (username != null)
+					addParam("username", username);
+				if (password != null)
+					addParam("password", password);
+			}
+			if (requestData != null)
+				wr.write(requestData.toString());
+			wr.flush();
+
+			responseHeaders = conn.getHeaderFields();
+			if (verbosity > 1)
+				echoResponseHeaders(conn);
+
+			responseData = new StringBuilder();
+			try {
+				BufferedReader rd = new BufferedReader(new InputStreamReader(
+						conn.getInputStream(), "ISO-8859-1"));
+				String line;
+				while ((line = rd.readLine()) != null) {
+					responseData.append(line + "\n");
+				}
+				rd.close();
+			} catch (IOException exc) {
+			}
+			wr.close();
+			responseMessage = conn.getResponseMessage();
+			return conn.getResponseCode();
 		}
 
-        private String createAuthorizationHeader(String username, String password) throws IOException
-		{
-        	if ( password == null )
-        		password = getPassWord();
-        	String authValue = username + ":" + password;
-        	String encodedAuth = Base64.byteArrayToBase64(authValue.getBytes());
-        	return "Basic " + encodedAuth;
+		private String createAuthorizationHeader(String username,
+				String password) throws IOException {
+			if (password == null)
+				password = getPassWord();
+			String authValue = username + ":" + password;
+			String encodedAuth = Base64.byteArrayToBase64(authValue.getBytes());
+			return "Basic " + encodedAuth;
 		}
 
-		/// printing the response header (TODO: just for debugging - remove)
-		private void echoResponseHeaders(HttpURLConnection conn) throws IOException
-		{
-	        System.out.println("ResponseCode: " + conn.getResponseCode());
-	        System.out.println("ResponseMessage: " + conn.getResponseMessage());
-	        for ( String key: responseHeaders.keySet() )
-	        {
-	        	System.out.println( key + ": " + responseHeaders.get(key) );
-	        }	        
+		/**
+		 * printing the response header.
+		 */
+		private void echoResponseHeaders(HttpURLConnection conn)
+				throws IOException {
+			// TODO: just for debugging - remove
+			System.out.println("ResponseCode: " + conn.getResponseCode());
+			System.out.println("ResponseMessage: " + conn.getResponseMessage());
+			for (String key : responseHeaders.keySet()) {
+				System.out.println(key + ": " + responseHeaders.get(key));
+			}
 		}
 
-		public void addParam(String name, String value) throws UnsupportedEncodingException
-		{
-			if ( requestData == null )
-				requestData = new StringBuilder();					
-			else
+		public void addParam(String name, String value)
+				throws UnsupportedEncodingException {
+			if (requestData == null) {
+				requestData = new StringBuilder();
+			} else {
 				requestData.append("&");
-			requestData.append(
-				URLEncoder.encode(name, "UTF-8") + "=" + URLEncoder.encode(value, "UTF-8") );
+			}
+			requestData.append(URLEncoder.encode(name, "UTF-8") + "="
+					+ URLEncoder.encode(value, "UTF-8"));
 		}
 
-		public String getResponseData()
-		{
-	        return responseData.toString();
+		public String getResponseData() {
+			return responseData.toString();
 		}
 
-		public void setUsername(String username)
-		{
+		public void setUsername(String username) {
 			this.username = username;
 		}
 
-		public void setPassword(String password)
-		{
+		public void setPassword(String password) {
 			this.password = password;
 		}
 
-		public List<String> getResponseHeader(String key)
-		{
+		public List<String> getResponseHeader(String key) {
 			return responseHeaders.get(key);
 		}
 
-		public void setRequestData(String data)
-		{
+		public void setRequestData(String data) {
 			requestData = new StringBuilder(data);
 		}
 
-		public String getResponseMessage()
-		{
+		public String getResponseMessage() {
 			return responseMessage;
 		}
 	}
 	
-	/// returns the TGT, either from a special user config file or from stdin
-	private static String getTGT() throws IOException
-	{
-    	HttpRequest postReq = new HttpRequest( loginURL );
-    	echoVerbose("using userName=" + userName + " for login");
-
-    	postReq.setUsername(userName);
-    	String pw  = getPassWord();
-    	postReq.setPassword(pw);    	    	
-    	if ( 201 == postReq.post() )
-    	{
-    		String tgt = postReq.getResponseHeader("Location").get(0);
-    		echoVerbose("TGT: " + tgt);
-    		return tgt;
-    	}
-    	else
-    		return null;
+	/**
+	 * returns the TGT, either from a special user config file or from stdin
+	 */
+	private static String getTGT() throws IOException {
+		HttpRequest postReq = new HttpRequest(loginURL);
+		echoVerbose("using userName=" + authenticatedUserName + " for login");
+		postReq.setUsername(authenticatedUserName);
+		String pw = getPassWord();
+		postReq.setPassword(pw);
+		if (201 == postReq.post()) {
+			String tgt = postReq.getResponseHeader("Location").get(0);
+			echoVerbose("TGT: " + tgt);
+			return tgt;
+		} else {
+			return null;
+		}
 	}
 	
-	/// retrieves a new session ticket using the given ticket granting ticket
-	private static String getST(String tgt) 
-	{
+	/**
+	 * retrieves a new session ticket using the given ticket granting ticket
+	 */
+	private static String getST(String tgt) {
 		String st = null;
-		try
-		{
-	    	HttpRequest httpReq = new HttpRequest( tgt );
-	    	httpReq.setRequestData( "service=" + backendURL );
-	    	if ( 200 == httpReq.post() )
-	    		st = httpReq.getResponseData();
-		} 
-    	catch ( Exception exc )
-    	{ /* ignore */ }
-    	
-    	echoVerbose("ST: " + st);
-    	return st;
+		try {
+			HttpRequest httpReq = new HttpRequest(tgt);
+			httpReq.setRequestData("service=" + backendURL);
+			if (200 == httpReq.post()) {
+				st = httpReq.getResponseData();
+			}
+		} catch (Exception exc) { /* ignore */
+		}
+		echoVerbose("ST: " + st);
+		return st;
 	}
 
-	/// returns the password, either from parameter, user config file or from stdin
-	private static String getPassWord() throws IOException
-	{
-		if ( passWord == null )
-			passWord = config.getProperty( "passWord." + userName, config.getProperty("passWord") );
-		
-		if ( passWord == null )
-		{
+	/**
+	 * returns the password, either from parameter, user config file or from
+	 * stdin.
+	 */
+	private static String getPassWord() throws IOException {
+		if (passWord == null)
+			passWord = config.getProperty("passWord." + authenticatedUserName,
+					config.getProperty("passWord"));
+		if (passWord == null) {
 			Console console = System.console();
-			if ( console != null )
-			{
-				char [] input = console.readPassword("Password: ");
+			if (console != null) {
+				char[] input = console.readPassword("Password: ");
 				passWord = new String(input);
-			}
-			else
-			{
+			} else {
 				System.out.print("Password: ");
 				System.out.flush();
-				BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
-				
+				BufferedReader reader = new BufferedReader(
+						new InputStreamReader(System.in));
+
 				PasswordMaskingThread thread = new PasswordMaskingThread();
-		        thread.start();
-		        passWord = reader.readLine();
-		        thread.interrupt();
+				thread.start();
+				passWord = reader.readLine();
+				thread.interrupt();
 			}
 		}
 		return passWord;
 	}
 
-	/// calls the remote service using the given service ticket 'st'
-	private static String exec(String st, String[] args) throws IOException
-	{
-    	HttpRequest httpReq = new HttpRequest( servletURL );
-    	echoVerbose("using userName=" + userName + " for exec");
-    	httpReq.setUsername(userName);
-    	httpReq.setPassword(st);
-    	StringBuilder argsAsString = new StringBuilder();
-    	for ( String arg: args )
-    		argsAsString.append(arg + "\n");
-    	echoVerbose("--- remote args: ---\n" + argsAsString.toString() + "\n--- end of args. ---");
-    	httpReq.setRequestData(argsAsString.toString());
-
-    	int code = httpReq.put();
-		List<String> hsadminErrors = httpReq.getResponseHeader("X-hsadmin-error");
-		if ( hsadminErrors != null && hsadminErrors.size() > 0 && hsadminErrors.get(0) != null )
-			throw new RuntimeException( hsadminErrors.get(0) );
-		else if ( 200 == code )
-    		return httpReq.getResponseData();
-		throw new RuntimeException( "HTTP error #" + code + ": " + httpReq.getResponseMessage() );
-	}	
-
-	/// reads session information (in users home dir)
-	private static String loadTGT(String user, String fileName) throws IOException
-	{
-		Properties properties = new Properties();
-		try
-		{			
-			properties.load( new FileInputStream( new File( System.getProperty("user.home"), fileName)) );
-			return properties.getProperty(user);
+	/**
+	 * calls the remote service using the given service ticket 'st'.
+	 */
+	private static String exec(String st, String[] args) throws IOException {
+		HttpRequest httpReq = new HttpRequest(servletURL);
+		if (runAsUserName == null) {
+			runAsUserName = authenticatedUserName;
 		}
-		catch ( FileNotFoundException exc )
-		{
+		echoVerbose("using userName=" + runAsUserName + " for exec");
+		httpReq.setUsername(runAsUserName);
+		httpReq.setPassword(st);
+		StringBuilder argsAsString = new StringBuilder();
+		for (String arg : args) {
+			argsAsString.append(arg + "\n");
+		}
+		echoVerbose("--- remote args: ---\n" + argsAsString.toString()
+				+ "\n--- end of args. ---");
+		httpReq.setRequestData(argsAsString.toString());
+		int code = httpReq.put();
+		List<String> hsadminErrors = httpReq
+				.getResponseHeader("X-hsadmin-error");
+		if (hsadminErrors != null && hsadminErrors.size() > 0
+				&& hsadminErrors.get(0) != null) {
+			throw new RuntimeException(hsadminErrors.get(0));
+		}
+		else {
+			if (200 == code) return httpReq.getResponseData();
+		}
+		throw new RuntimeException("HTTP error #" + code + ": "
+				+ httpReq.getResponseMessage());
+	}
+
+	/**
+	 * reads session information (in users home dir).
+	 */
+	private static String loadTGT(String user, String fileName)
+			throws IOException {
+		Properties properties = new Properties();
+		try {
+			properties.load(new FileInputStream(new File(System
+					.getProperty("user.home"), fileName)));
+			return properties.getProperty(user);
+		} catch (FileNotFoundException exc) {
 			return null;
 		}
 	}
 
-	/// stores session information (in users home dir)
-	private static void storeTGT(String fileName, String user, String tgt) throws IOException
-	{
+	/**
+	 * stores session information (in users home dir).
+	 */
+	private static void storeTGT(String fileName, String user, String tgt)
+			throws IOException {
 		Properties properties = new Properties();
-		try
-		{
-			properties.load( new FileInputStream( new File( System.getProperty("user.home"), fileName)) );
+		try {
+			properties.load(new FileInputStream(new File(System
+					.getProperty("user.home"), fileName)));
+		} catch (Exception exc) { /* ignore */
 		}
-		catch ( Exception exc )
-		{ /* ignore */ }
 		properties.setProperty(user, tgt);
-		properties.store( new FileOutputStream( new File( System.getProperty("user.home"), fileName)), "" );
+		properties.store(new FileOutputStream(new File(System
+				.getProperty("user.home"), fileName)), "");
 	}
 
-	/// reads the settings from the given config file (looked up in users home dir)
-	private static void readUserConfig(String string) throws IOException
-	{
+	/**
+	 * reads the settings from the given config file (looked up in users home
+	 * dir).
+	 */
+	private static void readUserConfig(String string) throws IOException {
 		// Read properties file.
-	    config = new Properties();
-	    try {
-	    	config.load(new FileInputStream( new File(System.getProperty("user.home"), ".hsadmin.conf")));
-	    } catch (FileNotFoundException e) {
-	    }
-
-	    userName = config.getProperty("userName", System.getenv("USER"));	    	   
+		config = new Properties();
+		try {
+			config.load(
+				new FileInputStream(
+					new File(System.getProperty("user.home"), ".hsadmin.conf")));
+		} catch (FileNotFoundException e) {
+		}
+		authenticatedUserName = config.getProperty("userName", System.getenv("USER"));
 		loginURL = config.getProperty("loginURL", loginURL);
 		servletURL = config.getProperty("servletURL", servletURL);
 		backendURL = config.getProperty("backendURL", backendURL);
-		verbosity = Integer.parseInt( config.getProperty("verbosity", "0") );
+		verbosity = Integer.parseInt(config.getProperty("verbosity", "0"));
 	}
 
-	/// echoes the string to stdout depending on verbosity level
-	private static void echoVerbose(String string)
-	{
-		if  (verbosity > 0)
+	/**
+	 * echoes the string to stdout depending on verbosity level.
+	 */
+	private static void echoVerbose(String string) {
+		if (verbosity > 0) {
 			System.out.println("]" + string);
+		}
 	}
 
-	private static void printHelp()
-	{
-		System.out.println("syntax:  hsadmin [-h|--help] [-V (0|1|2)|--verbosity=(0|1|2)] [-v|--version]\n" +
-						   "                 [-u USER|--user=USER] [-|REMOTE-ARGUMENTS]");
+	private static void printHelp() {
+		System.out.println("syntax:  hsadmin [-h|--help] [-V (0|1|2)|--verbosity=(0|1|2)] [-v|--version]\n"
+						+ "                 [-u USER|--user=USER] [-|REMOTE-ARGUMENTS]");
 		System.out.println("sample:  hsadmin -V 0 -u xyz00 -c user.search");
 		System.out.println("version: " + version);
 		System.out.println("");
 		System.out.println("REMOTE-ARGUMENTS ('-' on command line => read from stdin):");
 	}
 
-	/// reads remote arguments from stdin into 'remoteArgs'
-	private static void readArgsFromStdIn(ArrayList<String> remoteArgs) throws IOException
-	{
+	/**
+	 * reads remote arguments from stdin into 'remoteArgs'.
+	 */
+	private static void readArgsFromStdIn(ArrayList<String> remoteArgs)
+			throws IOException {
 		echoVerbose("READING ARGS FROM STDIN");
-    	BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
-    	String line;
-    	while ((line = rd.readLine()) != null) {
-    		echoVerbose("ADDING REMOTE ARG:" + line);
-    		remoteArgs.add(line);
-    	}
-    	rd.close();
+		BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
+		String line;
+		while ((line = rd.readLine()) != null) {
+			echoVerbose("ADDING REMOTE ARG:" + line);
+			remoteArgs.add(line);
+		}
+		rd.close();
 	}
 
-	private static String createSessionTicket() throws IOException
-	{
-		String tgt = loadTGT(userName, ".hsadmin.tgt"); 
-    	String st = getST(tgt);
-    	if ( st == null)
-    	{
-    		tgt = getTGT();
-    		if ( tgt == null )
-    		{
-    			System.err.println("ERROR: login failure - cannot get ticket granting ticket");
-    			System.exit(1);
-    		}
-    		storeTGT(".hsadmin.tgt", userName, tgt );
-    		st = getST(tgt);
-    	}
+	private static String createSessionTicket() throws IOException {
+		String tgt = loadTGT(authenticatedUserName, ".hsadmin.tgt");
+		String st = getST(tgt);
+		if (st == null) {
+			tgt = getTGT();
+			if (tgt == null) {
+				System.err
+						.println("ERROR: login failure - cannot get ticket granting ticket");
+				System.exit(1);
+			}
+			storeTGT(".hsadmin.tgt", authenticatedUserName, tgt);
+			st = getST(tgt);
+		}
 		return st;
 	}
 
-	private static ArrayList<String> createRemoteArgs(String[] args) throws IOException
-	{
+	private static ArrayList<String> createRemoteArgs(String[] args)
+			throws IOException {
 		ArrayList<String> remoteArgs = new ArrayList<String>();
-		for ( int n = 0; n < args.length; ++n )
-		{
+		for (int n = 0; n < args.length; ++n) {
 			String arg = args[n];
-			if ( arg.equals("-u") )
-			{
+			if (arg.equals("-u")) {
 				// TODO: out of bounds error
-				userName = args[++n];
-			}
-			else if ( arg.startsWith("--user=") || arg.startsWith("--user:") )
-			{
-				userName = args[n].substring(7);
-			}
-			else if ( arg.equals("-V") )
-			{
+				authenticatedUserName = args[++n];
+			} else if (arg.startsWith("--user=") || arg.startsWith("--user:")) {
+				authenticatedUserName = args[n].substring(7);
+			} else if (arg.equals("-r")) {
+				// TODO: out of bounds error
+				runAsUserName  = args[++n];
+			} else if (arg.toLowerCase().startsWith("--runas=") || arg.toLowerCase().startsWith("--runas:")) {
+				runAsUserName = args[n].substring(8);
+			} else if (arg.equals("-V")) {
 				// TODO: out of bounds error
 				verbosity = Integer.parseInt(args[++n]);
-			}
-			else if ( arg.startsWith("--verbosity:") ||  arg.startsWith("--verbosity=") )
-			{
+			} else if (arg.startsWith("--verbosity:")
+					|| arg.startsWith("--verbosity=")) {
 				verbosity = Integer.parseInt(args[n].substring(12));
-			}
-			else if ( arg.equals("-v") )
-			{
+			} else if (arg.equals("-v")) {
 				System.out.println(version);
 				remoteArgs = new ArrayList<String>();
 				break;
-			}
-			else if ( arg.startsWith("--version") )
-			{
+			} else if (arg.startsWith("--version")) {
 				System.out.println(version);
 				remoteArgs = new ArrayList<String>();
 				break;
-			}
-			else if ( arg.equals("-h") )
-			{
+			} else if (arg.equals("-h")) {
 				// TODO: out of bounds error
 				printHelp();
 				remoteArgs = new ArrayList<String>();
 				remoteArgs.add("-h");
 				break;
-			}
-			else if ( arg.startsWith("--help") )
-			{
+			} else if (arg.startsWith("--help")) {
 				printHelp();
 				remoteArgs = new ArrayList<String>();
 				remoteArgs.add("-h");
 				break;
-			}
-			else if ( arg.equals("-") )
+			} else if (arg.equals("-"))
 				readArgsFromStdIn(remoteArgs);
-			else  
-			{
+			else {
 				echoVerbose("ADDING REMOTE ARG:" + args[n]);
 				remoteArgs.add(args[n]);
 			}
 		}
-	
 		return remoteArgs;
 	}
 
-	/// main program
-	public static void main(String[] args) throws IOException
-	{
+	/**
+	 * main program.
+	 */
+	public static void main(String[] args) throws IOException {
 		readUserConfig(".hsadmin.conf");
-		
-		ArrayList<String> remoteArgs = createRemoteArgs(args); 
-			
-		if ( remoteArgs.size() > 0 )
-		{
-		    try {
-		    	String st = createSessionTicket();
-		    		
-		    	String response = exec(st, remoteArgs.toArray(new String[remoteArgs.size()]));
-		    	if ( response != null )
-		    		System.out.print(response);
-		    }
-		    catch ( Exception exc )
-		    {
-		    	System.err.println(exc.getMessage());
-		    	System.exit(1); // TODO: be more specific, like: 1=unknown, 2=remoting, 3=functional
-		    }
+		ArrayList<String> remoteArgs = createRemoteArgs(args);
+		if (remoteArgs.size() > 0) {
+			try {
+				String st = createSessionTicket();
+
+				String response = exec(st, remoteArgs
+						.toArray(new String[remoteArgs.size()]));
+				if (response != null)
+					System.out.print(response);
+			} catch (Exception exc) {
+				System.err.println(exc.getMessage());
+				System.exit(1); // TODO: be more specific, 
+								// like: 1=unknown, 2=remoting, 3=functional
+			}
 		}
 	}
 

--
Gitblit v1.9.1