Bug 786224 - DriftManager is not in CLI API doc, nor the getDriftFileAsByteArray()
Summary: DriftManager is not in CLI API doc, nor the getDriftFileAsByteArray()
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Documentation
Version: 3.0.1
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Deon Ballard
QA Contact: Mike Foley
URL:
Whiteboard:
Depends On: 756086
Blocks: jon30-sprint9 707225
TreeView+ depends on / blocked
 
Reported: 2012-01-31 18:45 UTC by Mike Foley
Modified: 2013-09-01 19:21 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 756086
Environment:
Last Closed: 2013-09-01 19:21:37 UTC
Embargoed:


Attachments (Terms of Use)

Description Mike Foley 2012-01-31 18:45:22 UTC
+++ This bug was initially created as a clone of Bug #756086 +++   It is for the API documentation to include these methods mentioned in the BZ loggers repro steps ... DriftManager is not in CLI API doc, nor the getDriftFileAsByteArray() method.




Description of problem:
When running the CLI in interactive mode, the console throws a ClassCastException when calling a method that returns a byte array. Based on the exception, it looks like we might get the exception with any primitive array. Here is the exception:

java.lang.ClassCastException: [B cannot be cast to [Ljava.lang.Object;
        at org.rhq.bindings.output.TabularWriter.print(TabularWriter.java:133)
        at org.rhq.enterprise.client.commands.ScriptCommand.execute(ScriptCommand.java:159)
        at org.rhq.enterprise.client.ClientMain.executePromptCommand(ClientMain.java:316)
        at org.rhq.enterprise.client.ClientMain$1.run(ClientMain.java:261)
        at java.lang.Thread.run(Thread.java:662)

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Log into the CLI console 
2. Call a method that returns a Java byte array (I produced this by calling DriftManager.getDriftFileAsByteArray)
3.
  
Actual results:


Expected results:


Additional info:

--- Additional comment from mfoley on 2011-11-22 13:20:47 EST ---

cli only. does not affect drift-ui.

--- Additional comment from mfoley on 2011-11-22 13:35:48 EST ---

cli only. does not affect drift-ui.

--- Additional comment from jsanda on 2011-11-22 14:11:52 EST ---

And to further clarify, this bug is **not** related to drift. It is CLI-specific bug that I happened to stumble on while making some drift API calls. A user should be able to reproduce this exception by calling any method that returns a byte array and quite possibly an array of any other primitive type.

--- Additional comment from ccrouch on 2011-11-28 23:15:00 EST ---

(9:49:31 PM) ccrouch: jsanda: none of the normal drift use cases are impacted 
by https://bugzilla.redhat.com/show_bug.cgi?id=756086# correct?
(9:50:02 PM) ccrouch: because otherwise we would have hit it before presumably? 
:-)
(9:50:36 PM) ccrouch: i also doubt this is a regression from jon2.4
(9:51:12 PM) jsanda: looking...
(9:51:51 PM) jsanda: i don't think that this impacts drift use cases
(9:52:04 PM) jsanda: i also agree about it not being a regression
(9:52:25 PM) jsanda: the class in question has had problems since the inception 
of the CLI
(9:52:33 PM) jsanda: these types of parsing problems that is
(9:53:41 PM) ccrouch: ok, given this is the first time we're hitting this, I'm 
presuming this datatype is not very common in the api
(9:54:13 PM) jsanda: in the drift api or the cli api in general?
(9:55:21 PM) jsanda: i'd have to review the remote apis to see where we have 
return type of byte array
(9:55:23 PM) ccrouch: the cli api in general
(9:55:39 PM) jsanda: we might in a few place
(9:55:40 PM) jsanda: s
(9:56:25 PM) ccrouch: ok, i'll assign it to lukas to take a look

--- Additional comment from ccrouch on 2011-11-28 23:15:05 EST ---

Lukas, can you have a quick investigate here. I'm particularly interested to 
know if this is a regression from JON2.4. Also is a fix feasible? Small? Safe? 
I'm suspicious of any changes in this area right before the release, since its 
sounds like a fundamental aspect of the CLI

--- Additional comment from ccrouch on 2011-11-28 23:15:11 EST ---

(9:56:58 PM) jsanda: i think we have more places that take a byte array as a 
param as opposed to having it as a return type
(9:57:27 PM) jsanda: also keep in mind that this is limited to the interactive 
console only

--- Additional comment from mazz on 2011-11-29 15:31:54 EST ---

this is not a regression and it has small impact, only because few APIs actually return arrays. note that this is a problem for both primitive and object arrays.

Will be writing unit tests in TabularWriterTest.

--- Additional comment from mazz on 2011-11-29 17:18:44 EST ---

committed to master: 756086

Comment 1 Deon Ballard 2012-02-14 17:14:03 UTC
The DriftManager class is in the remote API:
http://docs.redhat.com/docs/en-US/JBoss_Operations_Network/100/html/API/remote-api/org/rhq/enterprise/server/drift/DriftManagerRemote.html

Now, I can't find getDriftFileAsByteArray() in the API doc or in the 3.0 new/changed classes list for DriftManager. It looks like it was added on 11/19/2011. I could have sworn I didn't do the API generation until after Thanksgiving, but I may be mistaken. If I regen the API, that should get pulled in.

Comment 2 Deon Ballard 2012-06-28 20:06:08 UTC
The method is in the regenerated docs:
http://docs.redhat.com/docs/en-US/JBoss_Operations_Network/3.0/html/API/remote-api/org/rhq/enterprise/server/drift/DriftManagerRemote.html

And also in the 3.1 docs.

Comment 3 Heiko W. Rupp 2013-09-01 19:21:37 UTC
Bulk closing of BZs that have no target version set, but which are ON_QA for more than a year and thus are in production for a long time.


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