Package org.platformlayer.client.cli.autocomplete

Source Code of org.platformlayer.client.cli.autocomplete.PlatformLayerSimpleAutoCompleter

package org.platformlayer.client.cli.autocomplete;

import java.util.List;

import org.platformlayer.PlatformLayerClient;
import org.platformlayer.PlatformLayerClientException;
import org.platformlayer.client.cli.PlatformLayerCliContext;
import org.platformlayer.client.cli.commands.PlatformLayerCommandRunnerBase;
import org.platformlayer.common.UntypedItem;
import org.platformlayer.core.model.PlatformLayerKey;

import com.fathomdb.cli.CliContext;
import com.fathomdb.cli.autocomplete.SimpleArgumentAutoCompleter;
import com.google.common.collect.Lists;

public abstract class PlatformLayerSimpleAutoCompleter extends SimpleArgumentAutoCompleter {
  protected PlatformLayerClient getPlatformLayerClient(CliContext context) {
    PlatformLayerCliContext plContext = (PlatformLayerCliContext) context;
    return plContext.getPlatformLayerClient();
  }

  protected List<String> listItems(CliContext context, String itemType) throws PlatformLayerClientException {
    PlatformLayerClient client = getPlatformLayerClient(context);
    PlatformLayerKey key = PlatformLayerCommandRunnerBase.pathToKey(client, itemType);

    List<String> items = Lists.newArrayList();
    for (UntypedItem item : client.listItemsUntyped(key).getItems()) {
      items.add(item.getKey().getItemId().getKey());
    }
    return items;
  }
}
TOP

Related Classes of org.platformlayer.client.cli.autocomplete.PlatformLayerSimpleAutoCompleter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.