public DssServerSocketCreator(String arguments) throws Throwable { Args args = new Args(arguments); Class<? extends DssContextFactory> factory = Class.forName(args.argv(0)).asSubclass(DssContextFactory.class); args.shift(); Constructor<? extends DssContextFactory> cc = factory.getConstructor(String.class); try { this.factory = cc.newInstance(args.toString()); } catch (InvocationTargetException e) { throw e.getCause(); } }
public String getOpt(String name) { return getOption(name); }
if (_args.argc() < 2) { throw new IllegalArgumentException( int listenPort = Integer.parseInt(_args.argv(0)); String loginCell = _args.argv(1); Args childArgs = new Args(_args.toString() .replaceFirst("(^|\\s)-consume=\\S*", "") .replaceFirst("(^|\\s)-subscribe=\\S*", "")); childArgs.shift(); childArgs.shift(); _authenticator = new CellPath(_args.getOption("authenticator", "pam")); String maxLogin = _args.getOpt("maxLogin"); if (maxLogin != null) { try { long keepAlive = TimeUnit.SECONDS.toMillis(_args.getLongOption("keepAlive", 0L)); LOGGER.info("Keep alive set to {} ms", keepAlive); _keepAlive = new KeepAliveTask(); String topic = _args.getOpt("brokerTopic"); if (topic != null) { Splitter byComma = Splitter.on(",").omitEmptyStrings(); _loginBrokerPublisher.setCellEndpoint(this); _loginBrokerPublisher.setCellAddress(_nucleus.getThisAddress());
checkArgument(args.hasOption("mode"), "No mode specified to run connector"); String clientKey = args.getOpt("clientKey"); clientKey = (clientKey != null) && (!clientKey.isEmpty()) ? ("-clientKey=" + clientKey) : ""; String clientName = args.getOpt("clientUserName"); clientName = (clientName != null) && (!clientName.isEmpty()) ? ("-clientUserName=" + clientName) : ""; Mode mode = Mode.fromString(args.getOption("mode")); LOGGER.info("Starting Connection in mode: PLAIN with {}", args.getArguments()); where = domainInfo.tcpPort().orElseThrow(BadConfigException::new); socketFactory = SocketFactory.getDefault(); break; case TLS: LOGGER.info("Starting Connection in mode: TLS with {}", args.getArguments()); where = domainInfo.tlsPort().orElseThrow(BadConfigException::new); try { switch (role) { case CORE: socketFactory = new CanlSslSocketCreator(new Args(args.getOption("socketfactory"))); break; default: args.shift(2); socketFactory = new CanlSslSocketCreator(args); String.format("Problem creating socket factory with arguments: %s", args.toString())); throw new IllegalArgumentException("Invalid mode to start connector: " + args.getOption("mode"));
public CellAdapter(String cellName, String cellType, String args) { this(cellName, cellType, new Args(args == null ? "" : args)); }
public CellAdapter(String cellName, String cellType, Args args, Executor executor) { _args = args; _autoSetup = cellName + "Setup"; if ((_args.argc() > 0) && ((_definedSetup = _args.argv(0)).length() > 1) && (_definedSetup.startsWith("!"))) { _definedSetup = _definedSetup.substring(1); _args.shift(); } else { _definedSetup = null; } if (!_args.getBooleanOption("replyObject", true)) { setCommandExceptionEnabled(false); } _nucleus = new CellNucleus(this, cellName, cellType, executor); if (!Strings.isNullOrEmpty(_args.getOption(MAX_MESSAGE_THREADS))) { _nucleus.setMaximumPoolSize(_args.getIntOption(MAX_MESSAGE_THREADS)); } if (!Strings.isNullOrEmpty(_args.getOption(MAX_MESSAGES_QUEUED))) { _nucleus.setMaximumPoolSize(_args.getIntOption(MAX_MESSAGES_QUEUED)); } addCommandListener(new FilterShell(_nucleus.getLoggingThresholds())); addCommandListener(_commandInterpreter.new HelpCommands()); addCellEventListener(this); }
private Map<PrincipalMatcher,Set<Principal>> parseMapFile() throws IOException { LOG.debug("Reading file {}", file); Map<PrincipalMatcher,Set<Principal>> map = new LinkedHashMap<>(); int lineCount = 0; for (String line : Files.readAllLines(file)) { lineCount++; line = line.trim(); if (!line.isEmpty() && line.charAt(0) != '#') { try { Args args = new Args(line); checkFormat(args.argc() > 0, "Missing predicate matcher"); checkFormat(args.argc() > 1, "Missing mapped principals"); String matcherDescription = args.argv(0); List<String> mappedPrincipalDescriptions = args.getArguments().subList(1, args.argc()); map.put(asMatcher(matcherDescription), asPrincipals(mappedPrincipalDescriptions)); } catch (GplazmaParseMapFileException e) { warningsConsumer.accept(file.getFileName() + ":" + lineCount + ": " + e.getMessage()); } } } return map; }
public String ac_add_$_3( Args args )throws Exception { if( ! args.argv(1).equals("to") ) { throw new CommandSyntaxException("keyword 'to' missing"); } String group = args.argv(2) ; String princ = args.argv(0) ; checkPermission( args.getOpt("auth" ) , "group."+group+".access" ) ; _userDb.addElement(group, princ); return "" ; } public static final String hh_remove = "<principalName> from <groupName>" ;
objList[0][2] = new Args(args); objList[1][0] = getNucleus() ; Constructor<?> con = null ; Object o; for( int i = 0 ; i < args.argc() ; i++ ){ _log.info( "Trying to load shell : {}", args.argv(i) ) ; try{ c = Class.forName( args.argv(i) ) ; int j ; for( j = 0 ; j < _signature.length ; j++ ){ _log.info( "Added : {}", args.argv(i) ) ; }catch(Exception ee ){ _log.warn( "Failed to load shell : {} : {}", args.argv(i), ee.toString() ) ; if( ee instanceof InvocationTargetException ){ _log.warn( " -> Problem in constructor : {}",
/** * Start processing the command(s), based on the supplied arguments. */ protected void start(Args args) throws Throwable { if (args.hasOption("h")) { System.out.println("Usage: " + getCommandName() + " [-e] [-f=<file>]|[-]|[COMMAND]"); System.out.println(); System.out.println("Use '" + getCommandName() + " help' for an overview of available commands."); System.exit(0); } Ansi.setEnabled(isAnsiSupported); if (args.hasOption("f")) { try (InputStream in = new FileInputStream(args.getOption("f"))) { execute(new BufferedInputStream(in), System.out, args.hasOption("e")); } } else if (args.argc() == 1 && args.argv(0).equals("-")) { execute(System.in, System.out, args.hasOption("e")); } else if (args.argc() > 0) { execute(args); } else if (!hasConsole) { execute(System.in, System.out, args.hasOption("e")); } else { console(); } }
private void startListenerWithTls() throws ExecutionException, InterruptedException, UnknownHostException { checkArgument(args.hasOption("socketfactory"), "No Socketfactory provided to Core Domain for channel encryption"); String cellArgs = String.format("%s -socketfactory='%s'", Integer.parseInt((args.argc() == 1) ? args.argv(0) : args.argv(1)), args.getOpt("socketfactory")); lmTls = startListener(cellArgs); LOGGER.info("lmTls: {}; port; {} ", lmTls, lmTls.getListenPort()); info.addCore("tls", InetAddress.getLocalHost().getCanonicalHostName(), lmTls.getListenPort()); }
/** * Usage : ... [-legacy=<port>] [-role=satellite|core] -mode=none|tls -- [<port>] <client options> */ public LocationManager(String name, String args) throws CommandException, IOException, BadConfigException { super(name, "System", args); this.args = getArgs(); coreDomains = CoreDomains.createWithMode(getCellDomainName(), getCuratorFramework(), this.args.getOpt("mode")); if (this.args.hasOption("role")) { role = CellDomainRole.valueOf(this.args.getOption("role").toUpperCase()); switch (role) { case CORE: checkArgument(this.args.argc() >= 1, "Listening port is required."); client = new CoreClient(); coreDomains.onChange(client::update); coreConfig = new CoreConfig(getCuratorFramework(), client::reset); break; default: client = new Client(); coreDomains.onChange(client::update); coreConfig = null; break; } } else { role = null; client = null; coreConfig = null; } }
public String ac_add_access_$_2( Args args )throws Exception { boolean allowed = !args.hasOption("denied") ; String acl = args.argv(0) ; String princ = args.argv(1) ; checkPermission( args.getOpt("auth") , "acl."+acl+".access" ) ; if( allowed ){ _aclDb.addAllowed( acl , princ ) ; }else{ _aclDb.addDenied( acl , princ ) ; } return "" ; } public static final String hh_create_acl = "<aclName>" ;
@Override public boolean processLine(String line) throws IOException { try { if (echo) { out.println(line); } Args args = new Args(line); if (args.argc() == 0) { return true; } String s = Objects.toString(commandInterpreter.command(args), null); if (!isNullOrEmpty(s)) { out.println(s); } return true; } catch (CommandException e) { throw new IOException(e); } }