[jboss-as7-dev] cli variables

Max Rydahl Andersen manderse at redhat.com
Thu Jan 9 12:05:18 EST 2014


Remind me why a new syntax need to be introduced besides ${xxx} (and if 
we support standalone.xml property support ${xxx:fallbackvalue}) ?

Why not just treat these as properties?

/max

On 2 Dec 2013, at 15:06, Alexey Loubyansky wrote:

> There is this issue to provide CLI preferences
> https://issues.jboss.org/browse/WFLY-1063. Here I'd like to address
> mainly this part
>
> "prod-db = /subsystem=jadada/database=jadada/
> so you could call prod-db:read-resource"
>
> I'd like to get some opinion on the way it's gonna be implemented (and
> what I've done so far on a local branch).
>
> So, to address that I introduced variables. A variable starts with a 
> $,
> e.g. $prod_db. (Using simply prod_db is not a good idea since it might
> conflict with actual parts of the paths, names, etc)
>
> Variables can be introduced with
>
> [disconnected /] set 
> prod_db=/subsystem=datasources/data-source=ExampleDS
>
> Read with
>
> [standalone at localhost:9990 /] echo prod_db
> /subsystem=datasources/data-source=ExampleDS
>
> And unset with
>
> [standalone at localhost:9990 /] unset prod_db
>
> 'echo' without parameters will list all the variables and their 
> values,
> 'set prod_db=' will have the same effect as 'unset prod_db',
> set/echo/unset will work with and w/o '$' prefix, tab-completion works
> everywhere.
>
> The variables may appear in:
>
> - operation request addresses, e.g. 
> $prod_db/statistics=jdbc:read-resource;
> - operation names, e.g. $prod_db:$op(include-runtime=true);
> - operation parameter names and values, e.g.
> $prod_db:$op($param=$param_value);
> - the same for commands.
>
> Tab-completion helps complete the names as long as you type in '$' and
> then the rest of the line after the variable as usual.
>
> Variables added during the session are not persisted anywhere. But 
> I've
> added .jbossclirc file. This file can be located in the current
> directory, wildfly home bin directory or specified with a system
> property. The content of the file is usual CLI commands and/or
> operations. So, the variables could be initialized there. This file, 
> if
> located, will be executed before the CLI session (interactive or not)
> starts (but also after the system properties specified with 
> --properties
> are set).
>
> As a side effect, '$' is now a special character and will have to be
> escaped. Otherwise the CLI might complain about an unresolved 
> variable.
> So, this could potentially cause problems for existing scripts using 
> $.
>
> Note, most of this replacement stuff can already be done with system
> properties using ${xxx} format (and btw scripts using '$' as in 
> '${xxx}'
> won't be affected, of course).
>
> And for now I've made variable names follow the rules for Java 
> identifiers.
>
> Any remarks, objections or suggestions?
>
> Thanks,
> Alexey
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev


More information about the jboss-as7-dev mailing list