[jboss-as7-dev] AS7-2267 - Console Logging DMR Commands

ssilvert at redhat.com ssilvert at redhat.com
Wed Jan 30 07:08:30 EST 2013


On 1/29/2013 11:38 PM, Jesse Sightler wrote:
> On 01/28/2013 09:48 PM, Brian Stansberry wrote:
>>>      - Do we have a preexisting class to convert from the ModelNode operation to a CLI command? If not, nothing immediately jumps out at me that would make this extremely hard, but I don't want to duplicate existing work.
>>>
>> Not that I'm aware of and I'd be surprised if such a thing exists in any
>> reasonably complete form. The standard use case goes the other direction.
> Understood... that matches what I was seeing as well. At a glance, it
> doesn't seem like the code to go in the other direction would be nearly
> as complex, though.
Yes, building CLI commands automatically is pretty straightforward.  The 
only thing to watch out for is to make sure you escape special 
characters.  Here is code from CLI GUI that does that.  Please let me 
know if you find this list is incomplete:

public static String escapeAddressElement(String element) {
         element = element.replace(":", "\\:");
         element = element.replace("/", "\\/");
         element = element.replace("=", "\\=");
         element = element.replace(" ", "\\ ");
         return element;
     }

One thing that will be difficult in converting console commands is that 
the console sometimes executes a command and then decides what to do for 
the next command based on the output.  I think that will be next to 
impossible to replicate in CLI because you will have to understand the 
logic and then try to build CLI script conditions based off of it.
>
>>> 2. I don't necessarily agree with the proposed approach in the JIRA. I think it may be easier to append this information to the status result after an operation has completed. For example, after the user saves a property, a "Save successful" message appears. I believe this is clickable to show details, and we could display the CLI commands to rerun the action within that dialog.
>>>
>>> Is that an acceptable way to accomplish this task? Or is there some other preferred approach to implementing this in the UI?
>>>
>> I'll defer to Heiko Braun on UI details. :) My only comment is this
>> needs to be unobtrusive since it's extraneous to the core task users are
>> trying to accomplish. What you describe sound unobtrusive.
> I agree that it should be unobtrusive. At the moment, I'm trying to get
> together a simple proof-of-concept for one or two panels in the console.
> Once that's done, I'm hoping Heiko can provide some guidance on how it
> should be done. :)
>> One thing to keep in mind with this is raw DMR operations can be
>> converted readily enough into CLI low-level command syntax. But CLI low
>> level commands may not be the recommended approach for achieving many
>> tasks. The CLI now has quite a number of high level commands (e.g.
>> "deploy") that are more user friendly. I wouldn't support any attempt to
>> map console-generated operations to those high level commands, as that
>> would be a likely bug nest and a maintenance nightmare.
> Good, and I agree that translation to high-level operations would be
> extremely difficult to get perfect.
>
> Right now it looks like the biggest challenge may be that the CLI seems
> to be more strict than DMR. For example, the operation to add a
> system-property in standalone mode rejects "add" operations that contain
> the "boot-time" parameter. But this is only the case from the CLI, as
> the management console sends them as DMR with no issues.
>
> I haven't yet figured out an approach for dealing with that yet, but it
> may be that each operation has to be aware of these discrepancies in the
> management console.
>> The one exception to this is the DMR "composite" operation[1] should be
>> converted to the CLI "batch" and "run-batch" high level commands, with
>> each step in the composite being a low-level command after "batch" and
>> before "run-batch".
> Good point, and this looks relatively straightforward to implement.
>
> Thanks,
> Jess
>
> _______________________________________________
> jboss--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