@Service @PerLookup public class CrDecorator implements CreationDecorator<SecureAdminInternalUser> { @Param(optional=false, primary=true) private String username; @Param(optional=false) private String passwordAlias; @Inject private SecureAdminHelper helper; @Override public void decorate(AdminCommandContext context, SecureAdminInternalUser instance) throws TransactionFailure, PropertyVetoException { try { helper.validateInternalUsernameAndPasswordAlias( username, passwordAlias); } catch (Exception ex) { throw new TransactionFailure("create", ex); } instance.setUsername(username); instance.setPasswordAlias(passwordAlias); } } }
Option(Param p, Field f) { final Class<?> ftype = f.getType(); name = p.name(); if(!ok(name)) { name = f.getName(); } required = !p.optional(); operand = p.primary(); defaultValue = p.defaultValue(); type = ftype; } @Override
@Override public String alias() { return param.alias(); }
@Service(name = "list-nodes-config") @PerLookup @CommandLock(CommandLock.LockType.NONE) @I18n("list.nodes.config.command") @RestEndpoints({ @RestEndpoint(configBean=Domain.class, opType=RestEndpoint.OpType.GET, public class ListNodesConfigCommand implements AdminCommand{ @Inject Servers servers; @Inject private Nodes nodes; @Param(optional = true, defaultValue = "false", name="long", shortName="l") private boolean long_opt; @Param(optional = true) private boolean terse;
@Service public class ElasticServiceResolver implements CrudResolver { @Param(name="name") String name; @Inject ElasticServices elasticServices; @Override @SuppressWarnings("unchecked") public <T extends ConfigBeanProxy> T resolve(AdminCommandContext context, Class<T> type) { for (ElasticServiceConfig elasticService : elasticServices.getElasticService()) { if (elasticService.getName().equals(name)) { return (T) elasticService; } } return null; } }
/** * Sets the value of the name property. * * @param value allowed object is * {@link String } * @throws PropertyVetoException if a listener vetoes the change */ @Param(name="sshpassword", optional=true) void setPassword(String value) throws PropertyVetoException;
if (param.multiple()) { tag.append('M'); if (param.optional()) { tag.append('P'); if (param.primary()) { tag.append('1'); if (param.obsolete()) { tag.append('O'); if (param.shortName() != null && !param.shortName().isEmpty()) { tag.append(param.shortName()); if (param.alias() != null && !param.alias().isEmpty()) { tag.append(param.alias()); if (StringUtils.ok(param.defaultValue())) { tag.append(param.defaultValue()); tag.append("A"); //TODO: removeit
ParamModel operandParam = null; for (ParamModel opt : commandModel.getParameters()) { if (opt.getParam().primary()) { operandParam = opt; continue; if (!opt.getParam().alias().isEmpty() && !paramName.equalsIgnoreCase(opt.getParam().alias())){ paramValues.addAll(options.get(opt.getParam().alias().toLowerCase(Locale.ENGLISH))); if (!opt.getParam().multiple() && paramValues.size() > 1) { throw new CommandException(strings.get("tooManyOptions", paramName)); if (!opt.getParam().optional()) { throw new CommandException(strings.get("missingOption", paramName)); opt.getType() == File[].class) { addFileOption(uriString, paramName, paramValue); } else if (opt.getParam().password()) { addPasswordOption(uriString, paramName, paramValue); } else {
CommandModel.getParamName(param, target), true); if (paramValueStr == null && param.alias().length() > 0) { paramValueStr = getParameterValue(parameters, param.alias(), true); paramValueStr = parameters.getOne(param.shortName()); if (paramValueStr == null && param.password()) paramValueStr = getParameterValue(parameters, param.name(), true); final String defaultValue = param.defaultValue(); paramValueStr = defaultValue.equals("") ? null : defaultValue;
CommandModel.getParamName(param, target), true); if (paramValueStr == null && param.alias().length() > 0) { paramValueStr = getParameterValue(parameters, param.alias(), true); paramValueStr = parameters.getOne(param.shortName()); final String defaultValue = param.defaultValue(); paramValueStr = defaultValue.equals("") ? null : defaultValue; Class<? extends ParamDefaultCalculator> dc = param.defaultCalculator(); if (dc != ParamDefaultCalculator.class) { try {
private void addParamUsage( ActionReport report, CommandModel.ParamModel model) { Param param = model.getParam(); if (param != null) { // this is a param. String paramName = model.getName().toLowerCase(Locale.ENGLISH); // skip "hidden" options if (paramName.startsWith("_")) { return; } // do not want to display password in the usage if (param.password()) { return; } // do not want to display obsolete options if (param.obsolete()) { return; } if (param.primary()) { // if primary then it's an operand report.getTopMessagePart().addProperty(paramName + "_operand", model.getLocalizedDescription()); } else { report.getTopMessagePart().addProperty(paramName, model.getLocalizedDescription()); } } }
@Override public boolean isOptional(AnnotatedElement annotated, Param annotation) { return annotation.optional(); } };
if (opt.getParam().password()) continue; // don't print passwords if (opt.getParam().primary()) continue; value = opt.getParam().defaultValue(); if (value != null && value.length() == 0) value = null;
private static void add(Map<String, ParamModel> results, AnnotatedElement e, I18n parentI18n, LocalStringManager localStrings) { Param param = e.getAnnotation(Param.class); if (param!=null) { String defaultValue = param.defaultValue(); ModelBinding mb = e.getAnnotation(ModelBinding.class); if (mb!=null && defaultValue.isEmpty()) { Method m = null; try { m = mb.type().getMethod(mb.getterMethodName()); } catch (NoSuchMethodException e1) { // ignore. } if (m!=null) { Attribute attr = m.getAnnotation(Attribute.class); if (attr!=null) { defaultValue = attr.defaultValue(); } } } ParamModel model = new ParamModelImpl(e, defaultValue, parentI18n, localStrings); if (!results.containsKey(model.getName())) { results.put(model.getName(), model); } } }
@Override public boolean primary() { return param.primary(); }