@Override public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport(); if (name == null) name = nodehost.toString(); if (nodes.getNode(name) != null) { //already created nothing to do here return; } CommandInvocation ci = cr.getCommandInvocation("_create-node", report); ParameterMap map = new ParameterMap(); map.add("DEFAULT", name); map.add(NodeUtils.PARAM_NODEDIR, nodedir); map.add(NodeUtils.PARAM_INSTALLDIR, installdir); map.add(NodeUtils.PARAM_NODEHOST, nodehost); map.add(NodeUtils.PARAM_TYPE,"CONFIG"); ci.parameters(map); ci.execute(); }
public void callInstance(ActionReport report, AdminCommandContext context, String targetName) { try { ParameterMap paramMap = new ParameterMap(); paramMap.set("MoniTor", "true"); paramMap.set("DEFAULT", pattern); List<Server> targetList = targetService.getInstances(targetName); ClusterOperationUtil.replicateCommand("list", FailurePolicy.Error, FailurePolicy.Warn, FailurePolicy.Ignore, targetList, context, paramMap, habitat); } catch(Exception ex) { report.setActionExitCode(ExitCode.FAILURE); report.setMessage("Failure while trying get details from instance " + targetName); } } }
/** * Searches for the parameter with the specified key in this parameter map. * The method returns null if the parameter is not found. * * @param params the parameter map to search in * @param key the property key * @param ignoreCase true to search the key ignoring case, * false otherwise * @return the value in this parameter map with the specified key value */ // package-private, for testing static String getParameterValue(final ParameterMap params, String key, final boolean ignoreCase) { if (ignoreCase) { for (Map.Entry<String,List<String>> entry : params.entrySet()) { final String paramName = entry.getKey(); if (paramName.equalsIgnoreCase(key)) { key = paramName; break; } } } return params.getOne(key); }
logger.debug("Configure port for SSL"); String command = "create-http-listener"; ParameterMap params = new ParameterMap(); params.add("listeneraddress", "0.0.0.0"); params.add("listenerport", "443"); params.add("defaultvs", "server"); params.add("securityenabled", "true"); params.add("enabled", "true"); params.add("DEFAULT", "http-listener2"); CommandRunner runner = server.getHabitat().getComponent(CommandRunner.class); ActionReport report = server.getHabitat().getComponent(ActionReport.class); runner.getCommandInvocation(command, report).parameters(params).execute();
private ParameterMap populateConnectionResourceParameters() { ParameterMap parameters = new ParameterMap(); parameters.set("jndi_name", jndiName); parameters.set(DEFAULT_OPERAND, jndiName); parameters.set("enabled", Boolean.toString(enabled)); parameters.set("poolname", jndiNameForConnectionPool); parameters.set("target", target); if(description != null) parameters.set("description", description); return parameters; }
/** * @return detach option */ public boolean isDetachedCommand() { if (options.containsKey(DETACH)) { String value = options.getOne(DETACH); return (ok(value)) ? Boolean.parseBoolean(value) : true; } return false; }
ParameterMap params = new ParameterMap(); params.set("jndi_name", jndiName); params.set("DEFAULT", jndiName); params.set("target", target); commandRunner.getCommandInvocation("delete-admin-object", subReport, context.getSubject()).parameters(params).execute(); ParameterMap listParams = new ParameterMap(); listParams.set("target", target); commandRunner.getCommandInvocation("list-jms-resources", listReport, context.getSubject()).parameters(listParams).execute(); String poolName = cresource.getPoolName(); if (poolName != null && poolName.equals(defPoolName)) { ParameterMap params = new ParameterMap(); params.set("DEFAULT", jndiName); params.set("connector_resource_name", jndiName); params.set("target", target); commandRunner.getCommandInvocation("delete-connector-resource", subReport, context.getSubject()).parameters(params).execute(); params = new ParameterMap(); params.set("poolname", jndiName); params.set("cascade", cascade.toString()); params.set("DEFAULT", jndiNameForConnectionPool); ParameterMap params = new ParameterMap(); params.set("DEFAULT", jndiName); params.set("connector_resource_name", jndiName); params.set("target", target);
@Override public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport(); Logger logger = context.getLogger(); Node node = nodes.getNode(name); if (node == null) { //no node to delete nothing to do here String msg = Strings.get("noSuchNode", name); logger.warning(msg); report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setMessage(msg); return; } if (!(node.getType().equals("CONFIG") )){ //no node to delete nothing to do here String msg = Strings.get("notConfigNodeType", name); logger.warning(msg); report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setMessage(msg); return; } CommandInvocation ci = cr.getCommandInvocation("_delete-node", report, context.getSubject()); ParameterMap map = new ParameterMap(); map.add("DEFAULT", name); ci.parameters(map); ci.execute(); }
public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport(); final Logger logger = context.getLogger(); report.setMessage(localStrings.getLocalString("lifecycle.notreg","Lifecycle module {0} not registered", name)); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; ApplicationRef ref = domain.getApplicationRefInTarget(name, target); if (ref == null) { report.setMessage(localStrings.getLocalString("lifecycle.not.referenced.target","Lifecycle module {0} is not referenced by target {1}", name, target)); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; ParameterMapExtractor extractor = new ParameterMapExtractor(this); ParameterMap paramMap = extractor.extract(Collections.EMPTY_LIST); paramMap.set("DEFAULT", name);
public void execute(AdminCommandContext context) { final ActionReport report = context.getActionReport(); ActionReport.MessagePart part = report.getTopMessagePart(); VersioningUtils.checkIdentifier(applicationName); } catch (VersioningSyntaxException ex) { report.setMessage(ex.getLocalizedMessage()); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; report.setMessage(localStrings.getLocalString("application.notreg","Application {0} not registered", applicationName)); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; part.setMessage(localStrings.getLocalString("listsubcomponents.no.elements.to.list", "Nothing to List.")); report.setMessage(localStrings.getLocalString("application.not.enabled","Application {0} is not in an enabled state", applicationName)); return; if (module != null) { ActionReport subReport = report.addSubActionsReport(); CommandRunner.CommandInvocation inv = commandRunner.getCommandInvocation("_list-resources", subReport, context.getSubject()); final ParameterMap parameters = new ParameterMap(); parameters.add("appname", application.getName()); parameters.add("modulename", module.getName()); inv.parameters(parameters).execute();
model = new CommandModelImpl(command.getClass()); org.glassfish.api.admin.ExecuteOn clAnnotation = model.getClusteringAttributes(); List<RuntimeType> runtimeTypes = new ArrayList<RuntimeType>(); if(clAnnotation == null) { String targetName = parameters.getOne("target"); if(targetName == null) targetName = "server"; ActionReport aReport = context.getActionReport().addSubActionsReport(); aReport.setActionExitCode(ActionReport.ExitCode.WARNING); aReport.setMessage(strings.getLocalString("glassfish.clusterexecutor.dynrecfgdisabled", "WARNING: The command was not replicated to all cluster instances because the" + " dynamic-reconfiguration-enabled flag is set to false for cluster(s) {0}", clusterNoReplication)); ActionReport aReport = context.getActionReport().addSubActionsReport(); aReport.setActionExitCode(ActionReport.ExitCode.SUCCESS); aReport.setMessage(strings.getLocalString("glassfish.clusterexecutor.notargets", "Did not find any suitable instances for target {0}; command executed on DAS only", targetName)); return ActionReport.ExitCode.SUCCESS;
public void execute(AdminCommandContext context) { final ActionReport report = context.getActionReport(); if (error != null) { _logger.log(Level.WARNING, localStrings.getString("recover.transactions.failed") + " " + error); report.setMessage(error); report.setActionExitCode(ActionReport.ExitCode.FAILURE); return; CommandRunner.CommandInvocation inv = runner.getCommandInvocation( "_recover-transactions-internal", report, context.getSubject()); final ParameterMap parameters = new ParameterMap(); parameters.add("target", destinationServer); parameters.add("DEFAULT", serverToRecover); parameters.add("transactionlogdir", transactionLogDir); _logger.info("==> _recover-transactions-internal returned with: " + report.getActionExitCode());
@Override public void execute(AdminCommandContext context) { ActionReport report = context.getActionReport(); Logger logger = context.getLogger(); String msg = Strings.get("cluster.command.notDas"); logger.warning(msg); report.setActionExitCode(ExitCode.FAILURE); report.setMessage(msg); return; map = new ParameterMap(); map.add("kill", "true"); String msg = e.getLocalizedMessage(); logger.warning(msg); report.setActionExitCode(ExitCode.FAILURE); report.setMessage(msg); return;
throw new IllegalArgumentException(localStrings.getLocalString("lifecyclemodule_withsamename_exists", "Lifecycle module with same name {0} already exists, please pick a different name for the application. ", name)); final ParameterMap parameters = new ParameterMap(); parameters.add("DEFAULT", name); parameters.add(DeploymentProperties.TARGET, target); parameters.add(DeploymentProperties.KEEP_REPOSITORY_DIRECTORY, keepreposdir.toString()); parameters.add(DeploymentProperties.IS_REDEPLOY, isredeploy.toString()); if (dropandcreatetables != null) { parameters.add(DeploymentProperties.DROP_TABLES, dropandcreatetables.toString()); parameters.add(DeploymentProperties.IGNORE_CASCADE, force.toString()); if (keepstate != null) { parameters.add(DeploymentProperties.KEEP_STATE, keepstate.toString()); ActionReport subReport = report.addSubActionsReport(); subReport.setExtraProperties(new Properties()); populatePropertiesToParameterMap(parameters, propertyNames); CommandRunner.CommandInvocation inv = commandRunner.getCommandInvocation("undeploy", subReport, context.getSubject()); return subReport.getExtraProperties();
private void validateInstanceDirUnique(ActionReport report, AdminCommandContext context) { CommandInvocation listInstances = cr.getCommandInvocation("list-instances", report, context.getSubject()); ParameterMap map = new ParameterMap(); map.add("whichTarget", theNode.getName()); listInstances.parameters(map); listInstances.execute(); Properties pro = listInstances.report().getExtraProperties(); if (pro != null){ List<HashMap> instanceList = (List<HashMap>) pro.get("instanceList"); if (instanceList == null) return; for (HashMap instanceMap : instanceList) { final File nodeDirFile = (nodeDir != null ? new File(nodeDir) : defaultLocalNodeDirFile()); File instanceDir = new File(new File(nodeDirFile.toString(), theNode.getName()), instance); String instanceName = (String)instanceMap.get("name"); File instanceListDir = new File(new File(nodeDirFile.toString(), theNode.getName()), instance); if (instance.equalsIgnoreCase(instanceName) && instanceDir.equals(instanceListDir)) { String msg = Strings.get("Instance.duplicateInstanceDir", instance, instanceName); logger.warning(msg); report.setActionExitCode(ActionReport.ExitCode.FAILURE); report.setMessage(msg); return; } } } }
/** * Disable the enabled version of the application if it exists. This method * is used in versioning context. * * @param appName application's name * @param target an option supply from admin command, it's retained for * compatibility with other releases * @param report ActionReport, report object to send back to client. */ public void handleDisable(final String appName, final String target, final ActionReport report) throws VersioningDeploymentSyntaxException { // retrieve the currently enabled version of the application String enabledVersion = getEnabledVersion(appName, target); // invoke disable if the currently enabled version is not itself if (enabledVersion != null && !enabledVersion.equals(appName)) { final ParameterMap parameters = new ParameterMap(); parameters.add("DEFAULT", enabledVersion); parameters.add("target", target); ActionReport subReport = report.addSubActionsReport(); CommandRunner.CommandInvocation inv = commandRunner.getCommandInvocation("disable", subReport); inv.parameters(parameters).execute(); } }
private ParameterMap processParams(ParameterMap opts) throws CommandException { if (opts == null) { opts = new ParameterMap(); options = new ParameterMap(); for (Map.Entry<String, List<String>> o : opts.entrySet()) { String key = o.getKey(); List<String> value = o.getValue(); options.set(key.toLowerCase(Locale.ENGLISH), value); operands = options.get("default"); // "DEFAULT".toLowerCase() ParameterMap result = new ParameterMap(); ParamModel operandParam = null; for (ParamModel opt : commandModel.getParameters()) { if (opt.getParam().primary()) { operandParam = opt; continue; List<String> paramValues = new ArrayList<String>(options.get(paramName.toLowerCase(Locale.ENGLISH))); if (!opt.getParam().alias().isEmpty() && !paramName.equalsIgnoreCase(opt.getParam().alias())) { paramValues.addAll(options.get(opt.getParam().alias().toLowerCase(Locale.ENGLISH))); addFileOption(result, paramName, paramValue); } else { result.add(paramName, paramValue); addFileOption(result, "DEFAULT", operand); } else {
public boolean executeAdminCommand(ActionReport report, String commandName, String operand, String... parameters) { ParameterMap params = new ParameterMap(); if (operand!=null) { params.add("DEFAULT", operand); } for (int i=0;i<parameters.length;) { String key = parameters[i++]; String value=null; if (i<parameters.length) { value = parameters[i++]; } params.add(key, value); } CommandRunner.CommandInvocation inv = commandRunner.getCommandInvocation(commandName, report); inv.parameters(params); inv.execute(); return (report.getActionExitCode()==ActionReport.ExitCode.SUCCESS); }
private void extract(final Object target, final Collection<String> parameterNamesToExclude, final ParameterMap paramMap) throws IllegalArgumentException, IllegalAccessException { for (Field f : target.getClass().getFields()) { final Param param = f.getAnnotation(Param.class); if (param != null && ! parameterNamesToExclude.contains(f.getName())) { final Object fieldValue = f.get(target); if (fieldValue != null) { final String paramName = param.primary() ? "DEFAULT" : CommandModel.getParamName(param, f); if (param.multiple()) { paramMap.set(paramName, multipleValue(param, f.get(target))); } else { paramMap.set(paramName, singleValue(param, f.get(target))); } } } } }
String appName = getElementFromString(tName, 3); if (appName == null) { fail(context, localStrings.getLocalString("admin.set.invalid.appname", "Unable to extract application name from {0}", targetName)); return false; String target = getElementFromString(tName, targetElementLocation); if (target == null) { fail(context, localStrings.getLocalString("admin.set.invalid.target", "Unable to extract replication target from {0}", targetName)); return false; ParameterMap params = new ParameterMap(); params.set("DEFAULT", targetName + "=" + value); ActionReport.ExitCode ret = ClusterOperationUtil.replicateCommand("set", FailurePolicy.Error, FailurePolicy.Warn, FailurePolicy.Ignore, replicationInstances, context, params, habitat);