Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2013, Red Hat, Inc., and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
 package org.jboss.as.test.integration.management.interfaces;
 
 

Author(s):
jcechace
Ladislav Thon <lthon@redhat.com>
 
 public class CliManagementInterface implements ManagementInterface {
     private final CLI client;
 
     protected CliManagementInterface(CLI client) {
         this. = client;
     }
 
     @Override
     public ModelNode execute(ModelNode operation) {
         String command = createCommand(operation);
         CLI.Result result = .cmd(command);
         return result.getResponse();
     }
 
     private static String createCommand(ModelNode operation) {
         StringBuilder command = new StringBuilder();
         if (operation.has(.)) {
             ModelNode address = operation.get(.);
             for (ModelNode key : address.asList()) {
                 Property segment = key.asProperty();
                 command.append("/").append(segment.getName()).append("=").append(segment.getValue());
             }
             operation.remove(.);
         }
 
         if (operation.has(.)) {
             ModelNode op = operation.get(.);
             command.append(":").append(op.asString());
             operation.remove(.);
         }
 
         if (operation.has(.)) {
                     + " are not supported");
         }
 
         StringBuilder attrs = new StringBuilder();
         Iterator<Stringkeys = operation.keys().iterator();
         while (keys.hasNext()) {
             String key = keys.next();
             ModelNode value = operation.get(key);
             if (value.getType() != .) {
                 attrs.append(key).append("=").append(value.asString());
             }
             if (keys.hasNext()) {
                 attrs.append(",");
             }
         }
         command.append("(").append(attrs).append(")");
 
         return command.toString();
     }
 
     @Override
     public void close() {
         .disconnect();
     }
 
     public static ManagementInterface create(String hostint portString usernameString password) {
         CLI client = CLI.newInstance();
         client.connect(hostportusernamepassword.toCharArray(), null);
         return new CliManagementInterface(client);
     }
New to GrepCode? Check out our FAQ X