/* * JBoss, Home of Professional Open Source. * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. Some portions may be licensed * to Red Hat, Inc. under one or more contributor license agreements. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General public static * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 static License for more details. * * You should have received a copy of the GNU Lesser General public static * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. */ package org.teiid.adminshell; import java.util.ArrayList; import java.util.List; import org.codehaus.groovy.tools.shell.Command; import org.codehaus.groovy.tools.shell.CommandSupport; import org.codehaus.groovy.tools.shell.Groovysh; public class AdminHelpCommand extends CommandSupport { protected AdminHelpCommand(Groovysh shell) { super(shell, "adminhelp", "\\ah"); //$NON-NLS-1$ //$NON-NLS-2$ //hook to introduce default imports final String[] imports = GroovyAdminConsole.IMPORTS.split("\n"); //$NON-NLS-1$ for(String aimport : imports){ shell.execute(aimport); } //for backwards compatibility add aliases to 1.7 Groovy commands for (Command cmd :new ArrayList<Command>(shell.getRegistry().commands())) { if (cmd.getHidden()) { continue; } String name = cmd.getName(); if (name.startsWith(":")) { //$NON-NLS-1$ shell.execute(":alias " + name.substring(1) + " " + name); //$NON-NLS-1$ //$NON-NLS-2$ String shortCut = cmd.getShortcut(); if (shortCut.startsWith(":")) { //$NON-NLS-1$ shell.execute(":alias \\" + shortCut.substring(1) + " " + name); //$NON-NLS-1$ //$NON-NLS-2$ } } } } @Override public Object execute(List args) { if (args.size() > 1) { fail(messages.format("error.unexpected_args", new Object[] {args.toString()})); //$NON-NLS-1$ } if (args.isEmpty()) { AdminShell.adminHelp(); } else { AdminShell.adminHelp(args.get(0).toString()); } return null; } }