Return-Path: X-Original-To: apmail-accumulo-notifications-archive@minotaur.apache.org Delivered-To: apmail-accumulo-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 716EAF18B for ; Thu, 9 May 2013 01:02:28 +0000 (UTC) Received: (qmail 29879 invoked by uid 500); 9 May 2013 01:02:28 -0000 Delivered-To: apmail-accumulo-notifications-archive@accumulo.apache.org Received: (qmail 29848 invoked by uid 500); 9 May 2013 01:02:28 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 29839 invoked by uid 99); 9 May 2013 01:02:28 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 May 2013 01:02:28 +0000 Date: Thu, 9 May 2013 01:02:28 +0000 (UTC) From: "Dave Marion (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ACCUMULO-1399) Pluggable commands for the shell MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ACCUMULO-1399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13652610#comment-13652610 ] Dave Marion commented on ACCUMULO-1399: --------------------------------------- [~sonixbp] I'm not sure that would work, you would have to have some way to perform variable substitution in the scripts. [~elserj] Thats an interesting idea that I had not thought of. You could create an exec command that uses Jexl (or something like it) to run a script. The Jexl engine could have a handle to the Shell object to invoke commands. I was thinking of creating a class that contains shell commands. The jar that contains the class would also need to conform to the spec for java.util.ServiceLoader. Then in the shell, you could type: {quote} shell> myApp.createtable .... //creates a set of tables and configures iterators on them, maybe sets the context classpath via a param shell> myApp.backuptable .... //dumps the system config (ACCUMULO-1398) and exports all tables in the set shell> myApp.createuser .... //creates an entry for a user and their auths in a table {quote} Some of these things might need namespaces (ACCUMULO-802). I have been thinking about how multiple applications use the same Accumulo instance and what might make multi-tenancy easier. That was the motivation behind ACCUMULO-708. > Pluggable commands for the shell > -------------------------------- > > Key: ACCUMULO-1399 > URL: https://issues.apache.org/jira/browse/ACCUMULO-1399 > Project: Accumulo > Issue Type: New Feature > Components: shell > Reporter: Dave Marion > Assignee: Dave Marion > Priority: Minor > Fix For: 1.6.0 > > > Proposing modification to the Shell to allow applications to create their own set of commands. This might be accomplished using java.util.ServiceLoader or something like it. Specifically, I'm thinking of a case where I have a create table command that is different than the one provided by the Shell. In my case, my create table command may create one or more tables and setup iterators on them. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira