@Override public PluginOperationResult execute() throws Exception { result.setAction(options.getAction()); switch (options.getAction()) { case LIST: return executeList(); case INSTALL: return executeInstall(); case REMOVE: return executeRemove(); case UPDATE: return executeUpdate(); default: throw new Exception("Unknown action: " + options.getAction()); } }
private String getRemoteListStr(String pluginId) throws Exception { String appVersion = Client.getApplicationVersion(); String snapshotsEnabled = (options.isSnapshots()) ? "true" : "false"; String pluginIdQueryStr = (pluginId != null) ? pluginId : ""; String osStr = EnvironmentUtil.getOperatingSystemDescription(); String archStr = EnvironmentUtil.getArchDescription(); String apiEndpointUrl = (options.getApiEndpoint() != null) ? options.getApiEndpoint() : API_DEFAULT_ENDPOINT_URL; URL pluginListUrl = new URL(String.format(API_PLUGIN_LIST_REQUEST_FORMAT, apiEndpointUrl, appVersion, snapshotsEnabled, pluginIdQueryStr, osStr, archStr));
private PluginOperationResult executeRemove() throws Exception { return executeRemove(options.getPluginId()); }
@Override public PluginOperationOptions parseOptions(String[] operationArgs) throws Exception { PluginOperationOptions operationOptions = new PluginOperationOptions(); PluginOperationAction action = parsePluginAction(actionStr); operationOptions.setAction(action); operationOptions.setSnapshots(options.has(optionSnapshots)); operationOptions.setApiEndpoint(options.valueOf(optionApiEndpoint)); operationOptions.setPluginId(pluginId); operationOptions.setListMode(PluginListMode.LOCAL); operationOptions.setListMode(PluginListMode.REMOTE); operationOptions.setListMode(PluginListMode.ALL); operationOptions.setPluginId(pluginId); operationOptions.setPluginId(pluginId);
String forcePluginId = options.getPluginId(); logger.log(Level.FINE, "Force plugin is " + forcePluginId); if (forcePluginId != null) { out.println(pluginId + (options.isSnapshots() ? " --snapshot" : "")); delayedPlugins.add(pluginId);
if (options.getListMode() == PluginListMode.ALL || options.getListMode() == PluginListMode.LOCAL) { for (PluginInfo localPluginInfo : getLocalList()) { if (options.getPluginId() != null && !localPluginInfo.getPluginId().equals(options.getPluginId())) { continue; if (options.getListMode() == PluginListMode.ALL || options.getListMode() == PluginListMode.REMOTE) { for (PluginInfo remotePluginInfo : getRemotePluginInfoList()) { if (options.getPluginId() != null && !remotePluginInfo.getPluginId().equals(options.getPluginId())) { continue;
private PluginOperationResult executeInstall() throws Exception { String pluginId = options.getPluginId(); File potentialLocalPluginJarFile = new File(pluginId); if (pluginId.matches("^https?://.+")) { return executeInstallFromUrl(pluginId); } else if (potentialLocalPluginJarFile.exists()) { return executeInstallFromLocalFile(potentialLocalPluginJarFile); } else { return executeInstallFromApiHost(pluginId); } }
@Override public Response handleRequest(final ManagementRequest request) { final PluginManagementRequest concreteRequest = (PluginManagementRequest) request; logger.log(Level.SEVERE, "Executing PluginOperation for action " + concreteRequest.getOptions().getAction() + " ..."); }, "PlugRq/" + concreteRequest.getOptions().getAction());