Bug 780091 (SOA-2458) - Teiid adminshell getAdmin() method requires additional usage explanation and example
Summary: Teiid adminshell getAdmin() method requires additional usage explanation and ...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2458
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: Documentation, EDS
Version: 5.1.0.ER3
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: 5.1.0 GA
Assignee: Dana Mison
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-10-21 18:45 UTC by Len DiMaggio
Modified: 2011-03-02 05:51 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-02 05:51:47 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2458 0 None None None Never

Description Len DiMaggio 2010-10-21 18:45:04 UTC
Affects: Documentation (Ref Guide, User Guide, etc.)
Complexity: Low
project_key: SOA

SOA-2333 is resolved in the ER3 build - getAdmin() now returns an object:


groovy:000> getAdmin()
===> org.teiid.adminapi.AdminFactory$AdminProxy@ce796

The manner in which this object can be used/accessed is not intuitive - the on-line help reads:


groovy:000> adminhelp getAdmin
/*
  Get the current org.teiid.adminapi.Admin instance for direct use. Note: Used for advanced usecases to bypass AdminShell methods
 */
Admin getAdmin()


The on-line help is correct in that it cannot be used in the adminshell:

groovy:000> getAdmin().getConnectionName()
ERROR groovy.lang.MissingMethodException:
No signature of method: $Proxy7.getConnectionName() is applicable for argument types: () values: []
        at groovysh_evaluate.run (groovysh_evaluate:3)


But - if we are going to refer to "advanced usecases" in the on-line help, we should include a pointer to the cases. Also - if the getAdmin() is not usable in the adminshell, can we remove it from the adminhelp() method output?

Comment 1 Van Halbert 2010-10-21 19:34:35 UTC
The confusion is that AdminShell and an Admin connection are two different things.  Additional methods/functionality/signatures exist on AdminShell that don't exist on an Admin connection.  The intent behind AdminShell is to make an Admin connection contextual and provide methods that simplify calls - rather than using an InputStream, a call can be made with a String that can be a URL or file path.  However if someone is so inclined they could use the same scripting environment to script against the Admin connection directly using getAdmin().  In this scenario they are directly using the API defined by the org.teiid.adminapi.Admin object.  That's why it's called an advanced scenario.

We can still remove it from help, and document the call elsewhere, if this is seen as a major usability issue.


Comment 2 Anne-Louise Tangring 2010-10-27 19:15:25 UTC
Candidate for SOA 5.1.0

Comment 3 Dana Mison 2010-11-02 02:31:10 UTC
Assigning to Van for clarification :

Perhaps this could be added to the "AdminShell Frequently Asked Questions" in the DS Administration Guide - would this be a good place to put it in the upstream docs as well ?

Am I correct in thinking that the difference between "AdminShell" & "Admin connection" is that "AdminShell" is essentially a wrapper around an "Admin connection" that provides high-level "user-friendly" commands ?

To use "Admin Connection" they would need to refer to the javadocs for org.teiid.adminapi.Admin for details of what methods etc are available ?

Do we have any likely usecases where this is needed ? Or is it a "just in case you need it" type of thing ?

Comment 4 Ramesh Reddy 2010-11-02 14:43:36 UTC
Yes, Yes and Yes.

Will add to the FAQ.

The reason you need is providing the flexibility to the user. We have provided few wrapper methods that team thought are useful, but more often than not, users use these APIs in much more complicated ways, and these wrappers not sufficient in the cases. 

For example, to deploy a VDB, wrapper provides

deployVDB(String fileName)

Where as it is defined on the Admin interface as

deployVDB(InputStream stream)

using the direct API method, they can stream the VDB contents from any source.

Comment 5 Ramesh Reddy 2010-11-02 15:06:59 UTC
Done.

Comment 6 Van Halbert 2010-11-02 15:34:19 UTC
Teiid committed the changes to its 7.1.x product branch.

Comment 7 Len DiMaggio 2010-11-19 00:27:07 UTC
Assigning to Darrin to get this information into the admin guide.

Comment 8 Anne-Louise Tangring 2010-12-06 18:40:31 UTC
Usability and customer sat is important, thus this is made a blocker for SOA 5.1. 

Comment 9 Dana Mison 2010-12-17 00:49:05 UTC
Labels: Added: DS_Administration_Guide


Comment 10 Dana Mison 2010-12-17 00:49:37 UTC
Complexity: Added: Low
Affects: Added: [Documentation (Ref Guide, User Guide, etc.)]


Comment 12 Mike Harvey 2011-01-04 14:58:25 UTC
Per the SOA-P Triage meeting, the plan is to release note this JIRA and site that fact that the start-up time is longer due to added services in in SOA-P 5.1.  Given this approach, and the fact that you get more but you pay more at start time, we are establishing a new, longer start time benchmark with v5.1.

Comment 13 Dana Mison 2011-01-05 00:08:22 UTC
Writer: Added: Darrin


Comment 14 Dana Mison 2011-03-02 05:51:38 UTC
this was picked up when syncing with upstream docs

Comment 15 Dana Mison 2011-03-02 05:51:38 UTC
Release Notes Docs Status: Added: Not Required



Note You need to log in before you can comment on or make changes to this bug.