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);
}
}
|