File: CmdHelper.java

package info (click to toggle)
libjaba-client-java 2.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 2,052 kB
  • sloc: java: 17,308; makefile: 12
file content (152 lines) | stat: -rw-r--r-- 4,265 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/* Copyright (c) 2011 Peter Troshin
 *  
 *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     
 * 
 *  This library is free software; you can redistribute it and/or modify it under the terms of the
 *  Apache License version 2 as published by the Apache Software Foundation
 * 
 *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache 
 *  License for more details.
 * 
 *  A copy of the license is in apache_license.txt. It is also available here:
 * @see: http://www.apache.org/licenses/LICENSE-2.0.txt
 * 
 * Any republication or derived work distributed in source code form
 * must include this copyright and license notice.
 */
package compbio.ws.client;
import static compbio.ws.client.Constraints.hostkey;
import static compbio.ws.client.Constraints.limitList;
import static compbio.ws.client.Constraints.listServices;
import static compbio.ws.client.Constraints.listServicesOld;
import static compbio.ws.client.Constraints.paramList;
import static compbio.ws.client.Constraints.presetList;
import static compbio.ws.client.Constraints.presetkey;
import static compbio.ws.client.Constraints.pseparator;
import static compbio.ws.client.Constraints.servicekey;
import static compbio.ws.client.Constraints.testKey;

class CmdHelper {
	/**
	 * Check whether presetList is set in the command line
	 * 
	 * @param cmd
	 *            command line options
	 * @return true if presetList is found, false otherwise
	 */
	static boolean listPresets(String[] cmd) {
		return keyFound(cmd, presetList);
	}

	/**
	 * Checks whether limitList parameter is in the command line
	 * 
	 * @param cmd
	 *            - command line options
	 * @return true if it is, false otherwise
	 */
	static boolean listLimits(String[] cmd) {
		return keyFound(cmd, limitList);
	}

	/**
	 * list available services
	 * 
	 * @param cmd
	 * @return
	 */
	static boolean listServices(String[] cmd) {
		return (keyFound(cmd, listServices) || keyFound(cmd, listServicesOld));
	}

	/**
	 * tests service
	 * 
	 * @param cmd
	 * @return
	 */
	static boolean testService(String[] cmd) {
		return keyFound(cmd, testKey);
	}

	/**
	 * Checks whether the key is in the command line
	 * 
	 * @param cmd
	 * @param key
	 * @return true if it is, false otherwise
	 */
	static boolean keyFound(String[] cmd, String key) {
		assert cmd != null && cmd.length > 0;
		assert key != null;

		for (String c : cmd) {
			if (c.trim().equalsIgnoreCase(key)) {
				return true;
			}
		}
		return false;
	}

	/**
	 * Extracts preset name from the command line is any
	 * 
	 * @param cmd
	 *            command line options
	 * @return presetName or null if no presets is defined
	 */
	static String getPresetName(String[] cmd) {
		String preset = null;
		for (String c : cmd) {
			if (c.trim().toLowerCase().startsWith(presetkey + pseparator)) {
				preset = c.substring(c.indexOf(pseparator) + 1);
				break;
			}
		}
		return preset;
	}

	/**
	 * Extracts service name from the command line
	 * 
	 * @param cmd
	 *            command line options
	 * @return service name or null if it is not defined
	 */
	public static String getServiceName(String[] cmd) {
		for (String c : cmd) {
			if (c.trim().toLowerCase().startsWith(servicekey + pseparator)) {
				return c.substring(c.indexOf(pseparator) + 1);
			}
		}
		return null;
	}

	/**
	 * Extracts host name from the command line
	 * 
	 * @param cmd
	 *            command line options
	 * @return host name or null if it is not defined
	 */
	public static String getHost(String[] cmd) {
		for (String c : cmd) {
			if (c.trim().toLowerCase().startsWith(hostkey + pseparator)) {
				return c.substring(c.indexOf(pseparator) + 1);
			}
		}
		return null;
	}

	/**
	 * Searches the command line keys in the array of parameters
	 * 
	 * @param cmd
	 *            command line options
	 * @return true is the list of Parameters is requested, false otherwise
	 */
	static boolean listParameters(String[] cmd) {
		return keyFound(cmd, paramList);
	}
}