Hi Marnie and Aidan, During last two weeks I mainly worked on data modification commands and report generation feature.Here's a discription about the new features added. view : ------ view information about the content of the message in the queue object. In order to run this command you have to specify the object type at the beginning.You can give how many message informations you want to view from the top of the queue by using -t option.
Ex : queue view -n message_queue -t 5 [list the message info for top 5 messages in queue message_queue] viewcontent : ------------- view the content of the a given message in the queue. You have to give the messageId as a parameter with -id option letters. Ex: queue viewcontent -n message_queue -id 12 [list the content encoding and Mime type of the message with the messageId for the give message which is in the queue message_queue] delete : -------- Using this command user can delete a give message from a given queue you can specify how many messages you want to delete from the queue from the top of the queue by using -t option.If user does not give how many messages to delete from the top of the queue program is going to delete all the messages from the queue after giving a prompt to confirm the deletion. Ex: queue delete -n message_queue -t 3 [Delete top three messages in the queue message_queue ] move : ------ This command allow user to move number of messages from one queue to another queue. First you have to specify from which queue you want to move messages by using -n1 and -v1 option letters(-n1 queue name/ -v1 virtual host).Then you have to use -n2 option to give the target queue name and then you have to give From messageId and To messageId using -fmid and -tmid option letters to specify the messages range you want to do the move operation. Ex: queue move -n1 message_queue -n2 ping -fmid 13 -tmid 15 [This will move messages with the messageId range of 13-15 from queue message_queue to queue ping. After implementing data modification I finish the report generation mode and it works like this. If you want to generate reports you can do it by defining your required information using a property file. There's a sample property file in the parent directory and you can have a look and get an idea about that.You can generate reports by giving a time interval in the property file. In order to start the daemon mode you have to run the qpid-cli script with the option : -r by giving the path for your property file. Ex: $QPID_CLI/bin/qpid-cli -r ../report.property You should specify a property file in order to run the daemon mode and get information repeatedly. After finishing those implementations I worked in improving the test coverage. Then released the qpid-cli version 1.0 and I hope to send the release note on Monday. Regards Lahiru On Mon, Aug 4, 2008 at 4:42 PM, lahiru gunathilake <[EMAIL PROTECTED]>wrote: > > Hi Marnie and Aidan, > > I'm sorry for the delay for the fortnight report.During last two weeks I > started on working for the Apache Qpid CLI 0.2 Release. > Here's the major changes I have done for the CLI. > Major changes > =========== > > 1.You can use list command without specifying object type using -o option > by giving object type at the beginning. > > > - ex: queue list - This is equal to list -o queue. > - exchange list - This is equal to list -o exchange > > > 2. Added following options for list command. > > > - -n --name Allow user to specify object name type. > - -v --virtualhost Allow user to specify virtualhost type. > - -output Allow user to specify output format (csv) > - -separator Separator for the output formatter > > > 3. Change the way list command display information. > > > - Now list command display limited number of information in a tabular > format which is very clear. > - If user want to see all the attributes of particular object user have > to use info command. > > > 4.Added a new command to CLI called ** info ** > > > - This command is very similar to list command and supports almost all > the arguments which works with list command. > - Only difference is this command display all the attributes of > particular object type in a different format. > > > 5.Added command completion for users convenience now you can use TAB key to > complete the command and object type. > > 6.Added capability of running a command in one shot which is very useful > when you want to run particular command in qpid-cli using a > shell script. > > > - Ex: <$QPID_CLI/bin/qpid-cli queue list > - This command list all the > queue objects and exit from the CLI so you can use these when you use shell > scripts. > - Usage of one shot mode : you can use grep awk like commands with > normal qpid-cli commands with one shot mode like this. > > $QPID_CLI/bin/qpid-cli queue list | grep ping > > Thanks in advance > Lahiru > > On Fri, Jul 4, 2008 at 9:33 AM, lahiru gunathilake <[EMAIL PROTECTED]>wrote: > >> Hi Marnie and Aidan, >> >> >> - After finishing implementation to support all the MBeans which are >> already instruemented in the broker with list command I tried to expose >> some >> more objects which are not already registered.While I'm trying to do that >> I >> realized that I should go through the qpid code and started on reading >> qpid >> java broker source code.Tried to import Qpid Java broker on to Intellij >> Idea >> because I wanted to debug the broker, with the help from the mailing list >> I >> was able run the broker successfully on Intellij Idea and I bloged about >> that in my >> blog<http://lahirumanaya.blogspot.com/2008/06/import-apache-qpid-in-to-intellij-idea.html>.I >> was informed that there's not much usefulness of monitoring Publisher and >> Subscriber by Martin and Aidan so I start on concentrating on Connection >> Object.(y Somehow I will try instrument those two objects too ) >> - I was able to add the Connection object type to monitor using list >> command. Martin helped me to figure this out since although that was >> instrument on the broker it was not displayed in Jconsole. I have tested >> the >> list command implementation for Connection object by running some samples >> and it works fine. >> - With the instruction from Aidan I started on writing Test cases to >> all the possible methods in the current code.I have finish writing test >> cases for almost all the methods.(Aidan please have a look in to my test >> cases) >> - Change the build of the project in to more easier way.Now user >> doesn't need to set classpath or anything other than QPID_CLI environment >> variable.Added another target to ant script to build test.(Still working >> on >> running test cases using Ant at the moment Test cases can be run using an >> IDE) >> - As Aidan asked about releasing the CLI I have added another ant >> target in order to create a jar for the project and now working releasing >> the CLI.Following thing have to be done before releasing the CLI. >> - Implement --help option for list command. >> - Add some more details about the product in to README file. >> >> Please inform me what else to do before releasing the CLI. >> >> Thanks in advance >> >> Regards >> Lahiru >> On Fri, Jun 20, 2008 at 10:15 AM, lahiru gunathilake <[EMAIL PROTECTED]> >> wrote: >> >>> Hi Marnie and Aidan, >>> >>> >>> >>> - Started implementing list command. >>> >>> >>> - Now list command works with following options and following option >>> values >>> >>> >>> >>> 1. list -o queue : list all the queue objects currently in >>> the broker >>> 2. list -o virtualhost : list all the virtualhost objects >>> 3. list -o all : list all the mbeans and with all the >>> attributes >>> 4. list -d : list all the domains in the broker >>> >>> >>> >>> - After implementing those features I thought of giving somewhat >>> formatted output and did some coding inorder to get a nice output for >>> these >>> previos commands. >>> >>> >>> >>> - Change the code as Aidan last week by phone and that code is far >>> more better that the one >>> - I wrote earlier and Aidan thanks for pointing that out. >>> >>> >>> >>> - As Marnie ask me several types of objects to display using list >>> command I tried to implement those features too. >>> >>> >>> 1. These objects >>> 2. Connection >>> 3. Consumers >>> 4. publishers >>> >>> >>> Issues >>> ====== >>> Since those objects are not listing in jconsole when we start the broker >>> and monitor without running any client I couldn't >>> write that code and check whether it's working or not.So that's why I >>> thought of going through the broker code and find some way of access those >>> information or change the broker code inorder to create those objects even >>> when it start in normal mode(without running any client) then I can monitor >>> them easily in jconsole and find some way to access those MBeans.Do you have >>> any idea of doing this that would be really great to finish the >>> implementation of the command list. And once we finish that I think if we >>> can ask QPID users to use them and suggest some more features to >>> implement(new commands or some more options to list command) in interactive >>> mode.And when they use this in with a real broker we'll be able to find some >>> bugs in the code and I'm happy to fix them too. >>> >>> Any comments about my work for last two weeks. >>> >>> Thanks in advance >>> Regards >>> Lahiru >>> >>> On Fri, Jun 6, 2008 at 8:49 AM, lahiru gunathilake <[EMAIL PROTECTED]> >>> wrote: >>> >>>> hi Marnie and Aiden, >>>> >>>> I'm writing the fortnight report in point form and I hope this will >>>> useful everybody to go through it >>>> easily. >>>> >>>> 1. Started coding for Gsoc in the first week and reused some of the code >>>> I wrote when I'm experimenting the project. >>>> 2.Wrote some more code for reading command when we give commands with >>>> arguments.(code to read options separately with option values) >>>> (ex: ./qpid-admin -h localhost -p 3434) >>>> 3.Found a library to support for the GNU ReadLine and start developing >>>> the CLI using that >>>> library. >>>> 4.Since I used some previously written JMX code I was able to connect to >>>> the remote broker >>>> once user give appropriate commands. >>>> 5. Designed a class diagram to include new commands to interactive mode, >>>> and implemented it and added two >>>> basic commands to the command line.(but didn't implemented the logic for >>>> those commands,when you type those >>>> commands it will just print some text)I spent sometime >>>> 6.Created ant build for the CLI and committed code for the repository >>>> created in google code project >>>> according to the advice given by Aiden.(Thanks Aiden for the help) >>>> 7. Started writing some test cases. >>>> 8. Now Implementing the business logic of following commands. >>>> list >>>> info >>>> >>>> I have some questions when i come to implementation of those commands >>>> and I hope to write them in to the >>>> thread we are discussing thing from the very beginning. >>>> >>>> Any comments about the way I gave you my fortnight report ? Is this too >>>> long/too short..? >>>> >>>> And any thoughts about my work I have done during first two weeks. >>>> >>>> Thanks >>>> Lahiru >>>> >>>> >>> >> >
