On Sun, Jul 27, 2014 at 12:46 AM, Rukshan Chathuranga <rcruksha...@gmail.com > wrote:
> Hi all, > > > - I started to translate test-cases written for ESB-product to robot > test script, a as separate test module to the ESB using my tool. But i > faced several issues when translate them, because of ESB use different > service and its responses are different formats. Those are noted here. > - Since we can invoke services operation by providing different > information like service name, operation, parameters, data etc. user get > confuse selecting correct keyword. When translating test cases i realized > that when use command to invoke operations user have to provide many > information. Thus this can be complex to user to understand it. Thus to > overcome the complexity and provide the readability i implement new > keywords to specify those details one by one rather than in a line. > - Below are the command used for invoke service operations, > > > 1) > echo Payload Test > invoke Operation In echo echoString in HelloWorld #invoke operation > Assert InvokeOperation HelloWorld #assert output > invoke Operation In echo echoInt in 123 > Assert InvokeOperation 123 > ${out} invoke Operation In echo echoStringArrays a AA b BB c 11 > Log ${out} > > > These blue lines are the command for invoke operations. for command we > have to provide the service name, operation and parameters. This keyword > can be use if the response is basic string or array types. > > 2) > Test Sample > get Attibute Value Of OperationIn quote getQuote last symbol wso2 > Assert GetAttibuteValueOfOperationIn Fault: response message 'last' > price null > > Here this blue color line is also used to invoke operations. user have to > used this kind of keyword if response is bit complex. this kind of response > can be get from the stockQuoteService. Because user may interested the > one attribute of the response. here "last" is the such a attribute of the > response. Thus when this kind of response is required, this command get bit > complex. Thus i introduce the another way to invoke operations. > > 3) > Test Sample > set ServiceName quote > set ServiceOperation getQuote > set ServiceParentChild request > set ServiceParas symbol wso2 > ${o}= InvokeOperation > assertNotNull ${o} > ${la}= get OperationValue last > assertNotNull ${la} > +1 for 3 approach. this approach reduces the complexity of dealing with the requests ans responses. BTW, I have a problem related to some keywords you have used ( ServiceName....., OperationValue..). Are these keywords your own keyworks or kind of default keywords. If these are your own keywords , how do we instruct users to use those keywords in the test scripts ? > > This is the alternative and best way of invoke operations. here details > are provided as step by step. then it improve the readability. Also with > this user can invoke operation easily that accept no of parameters. > > > - These are the 3 methods that can be used to invoke operations. But i > like to know which way is prefer for this tools. can we use all this or > just use one way to handle every operations? Also i like to know whether > there is any other solutions. > - Also there is some difficulties when understanding the > SimpleStockQuote based test cases written in ESB product test. Thus, can we > have a time to discuss about these things. > - Also i hope write some documents to provide details of how to write > test case using this tool. So i hope to work on it after clear these > issues. > > > Thanks and regards. > Regards, Malintha Adikari > > > On Sun, Jul 13, 2014 at 9:21 PM, Rukshan Chathuranga < > rcruksha...@gmail.com> wrote: > >> Hi All, >> >> >> I have to mention some issue i came across during the project. Also my >> progress and that issues are listed below. >> >> >> - As i mention earlier when user invoke some Admin service operation, >> user have to import those library to the Robot test script before run the >> test case . The problem of this approach is user have to have some kind of >> knowledge about operation's library. Then those Libraries are generated >> and >> added to the Script. Since using this approach user get confuse with >> importing library, another mechanism have to include. One Approach is >> Generate all the Library class for each Admin service and import to the >> Script in advance.Then user don't have to worry about identify which >> library to include. This is the most simple mechanism for this problem. >> Also if there is another good solution to solve this, please let me know. >> >> >> >> - Also i started to integrate my Project to the Automation Framework. >> As First step i developed a Test Module for Product ESB based on the my >> Project. Module is working with .jar distribution of the Project installed >> into the local maven repository. With this, user just have to implement a >> Robot script test suit inside " >> *src/test/resources/robotframework/tests*" folder and Configuration >> file inside "*src/test/resource"*. Then in the pom.xml file, have to >> add "robotframework-maven-plugin" and import jar distribution of the >> Project from local maven repository. Still i'm doing some modification to >> read configuration data from the resource files. Here Project mean my >> "Auto-TAF-cmd" project[1]. >> >> >> >> - Also i added feature to read the configuration details from* >> automation.xml*. Still configuring project to read all the data >> required to Project from this .xml file. >> >> >> This is my current progress and issues i faced. Also i like to get your >> valuable feedback as well. >> >> [1] >> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd >> >> >> Thanks and regards. >> >> >> >> On Fri, Jul 11, 2014 at 12:16 PM, Rukshan Chathuranga < >> rcruksha...@gmail.com> wrote: >> >>> HI all, >>> >>> Thanks Malintha for you feedback. >>> >>> I have an idea and i used such a custom library to create some Object. >>> Idea is, identify such objects and manually create the standard library >>> with such a methods. >>> >>> Also we can come up with a generic method that take Object type as >>> variable and return the Object. But i didn't tried such a method yet. >>> >>> Also this weekend i hoped to get better understanding about Automation >>> framework and try to write my own test case for ESB. Until now i could >>> built Product-ESB and run it's test cases. >>> >>> Then i'll let you know the result of the my progress. >>> >>> Thanks and regards. >>> >>> >>> >>> On Fri, Jul 11, 2014 at 11:38 AM, Malintha Adikari <malin...@wso2.com> >>> wrote: >>> >>>> Hi Rukshan, >>>> >>>> Please fine my comments inline >>>> >>>> >>>> On Wed, Jul 9, 2014 at 10:42 AM, Rukshan Chathuranga < >>>> rcruksha...@gmail.com> wrote: >>>> >>>>> Hi all, >>>>> >>>>> I faced a issue when invoking the admin services. Problem is some >>>>> services operations return objects rather than primitive data types. Since >>>>> these admin services client classes are generated automatically these >>>>> operation's return type and parameter types can be java Objects. When user >>>>> invoke such a operations they have to create object in advance and pass to >>>>> the operation. It is affect to the user experience since some users >>>>> doesn't >>>>> know the low level architecture. >>>>> >>>>> here is example robot script, >>>>> >>>>> *check proxy type* >>>>> * init ServiceAdmin* >>>>> * get ServiceData echo* >>>>> *Assert getServiceData expected* >>>>> >>>>> At the 3rd link it return *ServiceMetaData *Object*. *Then, when >>>>> assert the operation result, it need to pass the *expected *value as >>>>> a *ServiceMetaData *Object*. * >>>>> >>>>> there is two solutions to avoid this problem. >>>>> >>>>> Solution 1: >>>>> >>>>> Identify the such a admin service and manually implement the service >>>>> client. if some operations accept object as parameters, it changed to >>>>> primitive types and implement the object inside operations. >>>>> >>>>> ex: >>>>> >>>>> if original method is like this, >>>>> >>>>> *void sendLoad(**ServiceMetaData** ob){* >>>>> * client.send(ob);* >>>>> *}* >>>>> >>>>> then change it as this. >>>>> *void sendLoad(boolean active, String type){* >>>>> >>>>> * ServiceMetaData ob=new ServiceMetaData();* >>>>> * ob.setActive(active);* >>>>> * ob.setServiceType(type);* >>>>> >>>>> * client.send(ob);* >>>>> *}* >>>>> >>>>> >>>>> IMO, this solution is not much practical. We have to find each and >>>> every adminservice and crate a client for it manually. So this would not be >>>> scalable solution. >>>> >>>> >>>>> Solution 2: >>>>> >>>>> Crete a new custom Library and implement methods to create Object for >>>>> users. >>>>> >>>>> ex: >>>>> >>>>> create method to create specific Object >>>>> *public* *ServiceMetaData* *CreateServiceMetaDataObject(boolean >>>>> active, String type){* >>>>> >>>>> *ServiceMetaData ob=new ServiceMetaData();* >>>>> * ob.setActive(active);* >>>>> * ob.setServiceType(type);* >>>>> >>>>> * return ob;* >>>>> *}* >>>>> >>>>> >>>>> Now script write like this, >>>>> >>>>> *check proxy type* >>>>> * init ServiceAdmin* >>>>> * get ServiceData echo* >>>>> * ${**expected**}= **Create ServiceMetaData Object true >>>>> proxy* >>>>> >>>>> *Assert getServiceData ** ${**expected**}* >>>>> >>>>> >>>>> This approach is more practical but the problem is the methodology of >>>> creating a custom library. Have you any idea about creating this kind of >>>> custom library . If we can agree on a scalable methodology , IMO we can >>>> proceed with this approach. >>>> >>>> Regards, >>>> Malintha Adikari >>>> >>>>> >>>>> This is the issues that are arise when scripting in natural >>>>> language. I used Some of this solutions to avoid some issue, had before. >>>>> >>>>> Also i like to know whether there is any good solutions to avoid this >>>>> problem and improve the usability. >>>>> >>>>> >>>>> Thanks and regards. >>>>> >>>>> >>>>> >>>>> On Mon, Jun 30, 2014 at 9:34 PM, Dharshana Warusavitharana < >>>>> dharsha...@wso2.com> wrote: >>>>> >>>>>> Sure Rukshan, >>>>>> >>>>>> Shall we have a hangout so you can demo all things you did so far and >>>>>> draft a plan to move forward and clarify issues you have. >>>>>> >>>>>> Thank You, >>>>>> Dharshana. >>>>>> >>>>>> >>>>>> On Mon, Jun 30, 2014 at 8:42 AM, Rukshan Chathuranga < >>>>>> rcruksha...@gmail.com> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> First, thanks you all to your support to successfully complete the >>>>>>> project up to mid evaluation. Also i'm looking forward your help to >>>>>>> continue my Project. >>>>>>> >>>>>>> Up to now, i could complete basic requirement of the project. Also >>>>>>> next steps are very important and very complex. Thus can we a time to >>>>>>> discuss about these issues? >>>>>>> >>>>>>> Thanks and regards. >>>>>>> >>>>>>> >>>>>>> On Tue, Jun 24, 2014 at 10:24 PM, Rukshan Chathuranga < >>>>>>> rcruksha...@gmail.com> wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I thought to share my experience i gained during this GSOC project. >>>>>>>> While doing this i faced lot of Problems and have to come up with >>>>>>>> solutions >>>>>>>> to overcome those things. Thus i am going to summarize those thing in >>>>>>>> this >>>>>>>> mail. >>>>>>>> >>>>>>>> At the very beginning i have to identifying the Project scope well. >>>>>>>> Project goal was to let users to write the test cases for WSO2 Product >>>>>>>> in >>>>>>>> natural Language. For that i develop the Design architecture[1]. >>>>>>>> According >>>>>>>> to the Design, test cases are write on a text file. Then convert them >>>>>>>> all >>>>>>>> to the common format and keep them in XML files. Also design module >>>>>>>> called >>>>>>>> Common API used to identified correct admin service at the back-end and >>>>>>>> invoke them. This was the initial design and foundation to the Project. >>>>>>>> >>>>>>>> I divided the project into three module based on the functions. >>>>>>>> Those are, >>>>>>>> >>>>>>>> >>>>>>>> - Natural Language Processor, >>>>>>>> - Common API >>>>>>>> - Test Execution Engine. >>>>>>>> >>>>>>>> >>>>>>>> To process Natural Language i decided to use OpenNLP. but it had >>>>>>>> some complexities and that won't in our Project. Because we have to add >>>>>>>> some limitations when write test cases. The alternative was the Robot >>>>>>>> Framework. it have capability of natural language processing and use of >>>>>>>> Dynamic Libraries, predefined and 3 rd party Libraries. Thus i carried >>>>>>>> out >>>>>>>> testing and research to confirm its capability. Then it was success and >>>>>>>> decided to use Robot framework. >>>>>>>> >>>>>>>> The next requirement was to implement the Admin service Clients. It >>>>>>>> should be dynamically generated, because there can be any number of >>>>>>>> Admin >>>>>>>> services. For that i used the WSDL2java with eclipse >>>>>>>> "cxf-codegen-plugin" >>>>>>>> plug-in. it work well to generate Client code based on the WSDL. it >>>>>>>> generate the Stub classes and have to implement(code by manual) client >>>>>>>> codes. According to the project scope this one also have to be >>>>>>>> automated. >>>>>>>> then i identified the pattern that can used to generate Client for >>>>>>>> their >>>>>>>> available operations. Then used the java String template[2] to define >>>>>>>> common template to generate Client classes. But to generate class it >>>>>>>> need >>>>>>>> to get WSDL details like port-type, available operations, parameters >>>>>>>> etc. >>>>>>>> it was hard to get them reading from WSDL as XML. i found a library >>>>>>>> that >>>>>>>> fit for this requirement, named SOA-model-core[3]. all this together >>>>>>>> it was >>>>>>>> possible to generate the Client classes. Then used them as Library to >>>>>>>> Robot >>>>>>>> Framework. >>>>>>>> >>>>>>>> But when testing more WSDL file, it was not work as expected. >>>>>>>> Reason was in the WSDL, there was predefined namespaces inside java. >>>>>>>> then >>>>>>>> generating Stub class, it generated class with invalid package name >>>>>>>> like " >>>>>>>> java.util.xsd". Thus it was not possible to generate stub class >>>>>>>> form same steps. it has to map invalid namespaces to valid ones >>>>>>>> manually. >>>>>>>> Then i identified the such a admin service and import them as Maven >>>>>>>> dependencies and avoid auto generating Stub class. Then have to >>>>>>>> improve the >>>>>>>> Client generating part based on this new changes. Then used the java >>>>>>>> reflection to identified the available operations and namespace rather >>>>>>>> than >>>>>>>> reading WSDL. But Stub class have unwanted parameter and operations. to >>>>>>>> Filter them again, used WSDL to get such a information. Then it was >>>>>>>> possible to generate Client classes based on the Stub classes, WSDL >>>>>>>> file >>>>>>>> and with java reflection and String template. >>>>>>>> >>>>>>>> up-to this point project was implemented as testing project and it >>>>>>>> can be available at the git repository[4]. >>>>>>>> >>>>>>>> Clients are generated based on the Stub class and WSDL file. Those >>>>>>>> details should be automatically configured. Also generated Client >>>>>>>> classes >>>>>>>> used as Library for scripting and user have to import them before use >>>>>>>> them. >>>>>>>> Library name is getting by adding "Library" to its service name. All >>>>>>>> the >>>>>>>> automated Clients are generated into java "robotlib >>>>>>>> <https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd/src/main/java/robotlib>" >>>>>>>> package. Whenever user import Some library it should be generated in to >>>>>>>> proper place before test cases are execute. Thus before test execution >>>>>>>> start, it read the test script and identified the imported libraries. >>>>>>>> Next, >>>>>>>> it collect necessary information like Stub class name and WSDL file >>>>>>>> name. >>>>>>>> Then generated the Clients. Get information based on Library was >>>>>>>> implemented in easy way. Project Contain the service.xml. it contain >>>>>>>> the >>>>>>>> elements named "services" and it keep the available main admin services >>>>>>>> Stub class and WSDL file names. >>>>>>>> >>>>>>>> Then after the demonstrate this solution, i get the actual test >>>>>>>> scenario. it's steps was like this >>>>>>>> >>>>>>>> 1.log in to esb >>>>>>>> 2.upload a proxy to esb >>>>>>>> 3.check whether it was deployed successfully >>>>>>>> 4.send a payload to the proxy >>>>>>>> 5.Get the response >>>>>>>> 6.Check the response is correct/incorrect >>>>>>>> >>>>>>>> >>>>>>>> Up to now Authentication function and keyword for robot script was >>>>>>>> already implemented and worked well. uploading proxy and verify was >>>>>>>> function of the ProxyServiceAdmin service. let it automate to generate >>>>>>>> Client classes. But problem was when adding parameters to the method, >>>>>>>> it >>>>>>>> required Object rather than string or int information. Thus method of >>>>>>>> the >>>>>>>> Class have to be manually customized and avoided it generating >>>>>>>> automatically. >>>>>>>> >>>>>>>> The next step was to send the payload and get the response. The >>>>>>>> solution was use the Axis2ServiceClient. But Mr Malintha Provided >>>>>>>> Already implemented code sample for that and just had to customized it. >>>>>>>> Then it was possible to automate such a test scenario. >>>>>>>> >>>>>>>> But next step is to let users to write the test script in natural >>>>>>>> language and easy to understand to them. Also it should assert low >>>>>>>> level function and configuration. For that, used configuration file to >>>>>>>> keep >>>>>>>> some configurations. This configuration file have to be improve as XML >>>>>>>> file >>>>>>>> to keep many configuration detail for all the test cases. >>>>>>>> >>>>>>>> >>>>>>>> The ultimate Goal of the project was to add this features to WSO2 >>>>>>>> TAF. Now most of the basic functions and implementation are finished. >>>>>>>> As >>>>>>>> next step it should be integrate to the TAF. Also some improvement >>>>>>>> have to >>>>>>>> be done for scripting to support usability. For that i suppose to add >>>>>>>> more descriptive Keyword >>>>>>>> to the Robot framework to use functions and assert the response. For >>>>>>>> that supposed to add different kind of libraries like >>>>>>>> static,Dynamic, 3rd party and standard Libraries. Static libraries mean >>>>>>>> some libraries that are not going to be change. Dynamic libraries >>>>>>>> will be generated whenever user use it. 3rd party libraries like >>>>>>>> Selenium >>>>>>>> Driver also can be used. Standard Library mean Some static Libraries >>>>>>>> that >>>>>>>> can be used to test the response. it will contain some basic functions >>>>>>>> to >>>>>>>> Assert arrays, Objects and create some complex data types like Arrays, >>>>>>>> Objects and Om-element. >>>>>>>> >>>>>>>> >>>>>>>> This is the current Progress of the Project and further plan of the >>>>>>>> implementation. Most of the basic >>>>>>>> and foundation implementation have implemented and after the End of the >>>>>>>> Project it will fulfill the project ultimate goal. I blog about >>>>>>>> current experience I've gained on my website[5]. Some basic >>>>>>>> example I've tried can be available on it. Also All the test Projects, >>>>>>>> web >>>>>>>> service Project and different version of the current Project can be >>>>>>>> found >>>>>>>> at my git repository[6]. The Project that currently working on can be >>>>>>>> found >>>>>>>> at the this repository[7]. >>>>>>>> >>>>>>>> >>>>>>>> [1] >>>>>>>> http://rukspot.com/sites/default/files/images/wso2/wso2_Test_Archi_3.png >>>>>>>> [2] http://www.stringtemplate.org/ >>>>>>>> [3] http://www.membrane-soa.org/downloads/soa-model.htm >>>>>>>> [4] >>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/test1 >>>>>>>> [5] http://rukspot.com/ >>>>>>>> [6] https://github.com/ruks/Automated-test-case-generation-tool >>>>>>>> [7] >>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Thanks and regards. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 23, 2014 at 7:48 PM, Malintha Adikari < >>>>>>>> malin...@wso2.com> wrote: >>>>>>>> >>>>>>>>> Hi Rukshan, >>>>>>>>> >>>>>>>>> Test Automation Framework uses single location (automation.xml >>>>>>>>> file ) [1] to store all configuration details related to tests. >>>>>>>>> According >>>>>>>>> the robot scripts you have sent ,test scripts include lot of >>>>>>>>> configuration >>>>>>>>> details. We can use automation.xml to retrieve appropriate >>>>>>>>> configurations >>>>>>>>> as it already facilitates to store most of those configuration >>>>>>>>> details. >>>>>>>>> Please have a look at automation.xml file and let's come up with a >>>>>>>>> way to >>>>>>>>> handle those configuration details include in robot scripts. >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://github.com/wso2-dev/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.engine/src/main/resources/automation.xml >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Malintha Adikari >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Jun 23, 2014 at 3:58 PM, Rukshan Chathuranga < >>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I attached the Document with actual scenario and Robot >>>>>>>>>> framework script with this. Also have attached the original robot >>>>>>>>>> framework >>>>>>>>>> script source file. Some comments have added to the Script for >>>>>>>>>> describe the >>>>>>>>>> functions. >>>>>>>>>> >>>>>>>>>> If Some clarification is needed to understand the script please >>>>>>>>>> let me know. >>>>>>>>>> >>>>>>>>>> Thanks and regards. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Jun 23, 2014 at 9:39 AM, Malintha Adikari < >>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Rukshan, >>>>>>>>>>> >>>>>>>>>>> Can you provide the robot script and the original scenario steps >>>>>>>>>>> in a same doc. So we can use that document to compare two cases. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Malintha Adikari >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sun, Jun 22, 2014 at 9:47 AM, Rukshan Chathuranga < >>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> HI all, >>>>>>>>>>>> >>>>>>>>>>>> Previous days i was working on adding testing scenario like >>>>>>>>>>>> below steps. >>>>>>>>>>>> >>>>>>>>>>>> 1.log in to esb >>>>>>>>>>>> >>>>>>>>>>>> 2.upload a proxy to esb >>>>>>>>>>>> 3.check whether it was deployed successfully >>>>>>>>>>>> 4.send a payload to the proxy >>>>>>>>>>>> 5.Get the response >>>>>>>>>>>> 6.Check the response is correct/incorrect >>>>>>>>>>>> >>>>>>>>>>>> After a one week of research and testing i was able >>>>>>>>>>>> to successfully Automate scenario like above. Still i am testing >>>>>>>>>>>> with this >>>>>>>>>>>> scenario to improve the it's correctness and improve the usability. >>>>>>>>>>>> >>>>>>>>>>>> The project with these new modification can be view on my Git >>>>>>>>>>>> repository[1]. >>>>>>>>>>>> Also all the projects and testing project i did so far can be >>>>>>>>>>>> view on main repo.[2] >>>>>>>>>>>> >>>>>>>>>>>> [1] >>>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/master/Auto-TAF-cmd >>>>>>>>>>>> [2]https://github.com/ruks/Automated-test-case-generation-tool >>>>>>>>>>>> >>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jun 20, 2014 at 9:22 PM, Rukshan Chathuranga < >>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> I used the above[1] example to send a payload to the Axis2 >>>>>>>>>>>>> Services. It works well on services that deployed on Axis2 >>>>>>>>>>>>> server. But it >>>>>>>>>>>>> is not work for the Uploaded proxy services of the ESB. What can >>>>>>>>>>>>> be the >>>>>>>>>>>>> problem? >>>>>>>>>>>>> >>>>>>>>>>>>> This is the exception i got. >>>>>>>>>>>>> "AxisFault while getting response :The input stream for an >>>>>>>>>>>>> incoming message is null." >>>>>>>>>>>>> >>>>>>>>>>>>> Also i used "https://localhost:8243/services/echo" >>>>>>>>>>>>> as endPointReference. >>>>>>>>>>>>> >>>>>>>>>>>>> [1] >>>>>>>>>>>>> https://github.com/wso2/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.test.utils/src/main/java/org/wso2/carbon/automation/test/utils/axis2client/AxisServiceClient.java >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Jun 20, 2014 at 2:07 PM, Malintha Adikari < >>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Jun 19, 2014 at 7:01 PM, Rukshan Chathuranga < >>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I could automate the ProxyServiceAdmin Admin service to >>>>>>>>>>>>>>> upload the proxy to ESB. Also it support, Confirm whether it is >>>>>>>>>>>>>>> successful >>>>>>>>>>>>>>> or not. This steps was possible to written in robot test script. >>>>>>>>>>>>>>> Thus i'm try to scripting and automate to invoke the >>>>>>>>>>>>>>> uploaded proxy services. for that can you let me know, what are >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> available options to invoke the proxy services. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> You can use Axis2ServiceClient [1] for invoked the deployed >>>>>>>>>>>>>> proxy service. >>>>>>>>>>>>>> >>>>>>>>>>>>>> [1] >>>>>>>>>>>>>> https://github.com/wso2/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.test.utils/src/main/java/org/wso2/carbon/automation/test/utils/axis2client/AxisServiceClient.java >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Jun 19, 2014 at 11:56 AM, Malintha Adikari < >>>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Please note the update for the test scenario : >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Thu, Jun 19, 2014 at 11:52 AM, Malintha Adikari < >>>>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> As the next step we can evaluate the usability of robot >>>>>>>>>>>>>>>>> scripts. Then we have to come up with a way to enhance the >>>>>>>>>>>>>>>>> usability of >>>>>>>>>>>>>>>>> the test scripts based on that evaluation. Could you try to >>>>>>>>>>>>>>>>> develop an >>>>>>>>>>>>>>>>> automated test case using robot for following test scenario >>>>>>>>>>>>>>>>> and compare the >>>>>>>>>>>>>>>>> original script and robot script and evaluate the differences >>>>>>>>>>>>>>>>> between two >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *. login to Application server >>>>>>>>>>>>>>>> * upload a service to application server >>>>>>>>>>>>>>>> * confirm the uploaded server has been deployed successfully >>>>>>>>>>>>>>>> (this should be your back end service for the ESB proxy >>>>>>>>>>>>>>>> service) >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 1.login to esb >>>>>>>>>>>>>>>>> 2.upload a proxy to esb >>>>>>>>>>>>>>>>> 3.check whether it was deployed successfully >>>>>>>>>>>>>>>>> 4.send a payload to the proxy >>>>>>>>>>>>>>>>> 5.Get the response >>>>>>>>>>>>>>>>> 6.Check the response is correct/incorrect >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Tue, Jun 17, 2014 at 2:14 PM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I added a xml file to keep stub name and wsdl file name >>>>>>>>>>>>>>>>>> of each admin services. its structure is looks like this. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> <service >>>>>>>>>>>>>>>>>> stub="org.wso2.carbon.statistics.stub.StatisticsAdminStub" >>>>>>>>>>>>>>>>>> name="StatisticsAdmin" wsdl="StatisticsAdmin" >>>>>>>>>>>>>>>>>> lib="StatisticsAdminLibrary"/> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Then added new java method to return wsdl name and stub >>>>>>>>>>>>>>>>>> class name. It is like this. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> public static String[] getServiceInfor(String lib) { >>>>>>>>>>>>>>>>>> File pomfile = new File("service.xml"); >>>>>>>>>>>>>>>>>> String[] res; >>>>>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> DocumentBuilder dBuilder = >>>>>>>>>>>>>>>>>> DocumentBuilderFactory.newInstance() >>>>>>>>>>>>>>>>>> .newDocumentBuilder(); >>>>>>>>>>>>>>>>>> Document doc = dBuilder.parse(pomfile); >>>>>>>>>>>>>>>>>> System.out.println("Root element :" >>>>>>>>>>>>>>>>>> + doc.getDocumentElement().getNodeName()); >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> NodeList service = doc.getElementsByTagName("service"); >>>>>>>>>>>>>>>>>> for (int i = 0; i < service.getLength(); i++) { >>>>>>>>>>>>>>>>>> Element ele = (Element) service.item(i); >>>>>>>>>>>>>>>>>> if (ele.getAttribute("lib").equals(lib)) { >>>>>>>>>>>>>>>>>> res = new String[2]; >>>>>>>>>>>>>>>>>> res[0] = ele.getAttribute("stub"); >>>>>>>>>>>>>>>>>> res[1] = ele.getAttribute("wsdl"); >>>>>>>>>>>>>>>>>> return res; >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> return null; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> } catch (Exception e) { >>>>>>>>>>>>>>>>>> System.out.println(e.getMessage()); >>>>>>>>>>>>>>>>>> return null; >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> So if there are any issue in this procedure please let me >>>>>>>>>>>>>>>>>> know. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Sat, Jun 14, 2014 at 9:10 AM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Dharshana, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> No. it was not the resolving the dependencies of the >>>>>>>>>>>>>>>>>>> client. Sorry if my mail is not much clear. :) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I wanted to import required classes for Client that >>>>>>>>>>>>>>>>>>> generated based on the Stub classes. My first step was >>>>>>>>>>>>>>>>>>> taking package >>>>>>>>>>>>>>>>>>> information from the POM.xml as you said. but it contain >>>>>>>>>>>>>>>>>>> only some parent >>>>>>>>>>>>>>>>>>> package names and also those get mapped to the new package >>>>>>>>>>>>>>>>>>> names(rename). >>>>>>>>>>>>>>>>>>> Thus it was difficulty to extract all the classes. Also >>>>>>>>>>>>>>>>>>> some extra >>>>>>>>>>>>>>>>>>> libraries get imported and some required libraries not get >>>>>>>>>>>>>>>>>>> imported. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> But using reflection it is possible to get all the >>>>>>>>>>>>>>>>>>> operation's information of the stub classes. Then importing >>>>>>>>>>>>>>>>>>> required class >>>>>>>>>>>>>>>>>>> for parameters and return type was much easier. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ex: >>>>>>>>>>>>>>>>>>> import org.wso2.carbon.service.mgt.stub.ServiceAdminStub; >>>>>>>>>>>>>>>>>>> import >>>>>>>>>>>>>>>>>>> org.wso2.carbon.service.mgt.stub.types.carbon.ServiceDownloadData; >>>>>>>>>>>>>>>>>>> import >>>>>>>>>>>>>>>>>>> org.wso2.carbon.service.mgt.stub.types.carbon.ServiceGroupMetaData; >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Sat, Jun 14, 2014 at 12:18 AM, Dharshana >>>>>>>>>>>>>>>>>>> Warusavitharana <dharsha...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Hi Rekshan, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Do we really need this step. AFAICU you are trying to >>>>>>>>>>>>>>>>>>>> automate the dependency resolving of your client library. >>>>>>>>>>>>>>>>>>>> Basically, there is a limited set of dependency for >>>>>>>>>>>>>>>>>>>> external libraries when you are generating the client. That >>>>>>>>>>>>>>>>>>>> won't expand much over introducing new stubs. >>>>>>>>>>>>>>>>>>>> You can have general pom file which have basic >>>>>>>>>>>>>>>>>>>> dependencies which are common to the general stubs. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> And im not clear how you would identify extra >>>>>>>>>>>>>>>>>>>> libraries you need by just using reflection. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Correct me if im wrong >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thank you, >>>>>>>>>>>>>>>>>>>> Dharshana. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Fri, Jun 13, 2014 at 10:51 AM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Hi All, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I could manage the issue occurred during Client >>>>>>>>>>>>>>>>>>>>> generation from Stub. I get operations from the WSDL file >>>>>>>>>>>>>>>>>>>>> and used Java >>>>>>>>>>>>>>>>>>>>> reflection to identify the information of those >>>>>>>>>>>>>>>>>>>>> operation. Then it help me >>>>>>>>>>>>>>>>>>>>> to identified the required Libraries and import them into >>>>>>>>>>>>>>>>>>>>> generated Client >>>>>>>>>>>>>>>>>>>>> libraries. Also added Property file to get services host >>>>>>>>>>>>>>>>>>>>> and port >>>>>>>>>>>>>>>>>>>>> information. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> new version of the project can be found from here. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/991e6e21927288d237c0a8d1985b7d2787f91a9b/Auto-TAF >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 3:24 PM, Rukshan Chathuranga < >>>>>>>>>>>>>>>>>>>>> rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Hi Malintha, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Generating Client from Stub is not problem with one >>>>>>>>>>>>>>>>>>>>>> String template file. Template file contain generic >>>>>>>>>>>>>>>>>>>>>> Class structure like >>>>>>>>>>>>>>>>>>>>>> Method, Constructor, Fields and Import library. Only >>>>>>>>>>>>>>>>>>>>>> difference is their >>>>>>>>>>>>>>>>>>>>>> name and object type. Identifying the those names and >>>>>>>>>>>>>>>>>>>>>> type from WSDL, it is >>>>>>>>>>>>>>>>>>>>>> possible to generate Different client for different Stub. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 3:09 PM, Malintha Adikari < >>>>>>>>>>>>>>>>>>>>>> malin...@wso2.com> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hi Rukshan, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 10, 2014 at 2:49 PM, Rukshan Chathuranga >>>>>>>>>>>>>>>>>>>>>>> <rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> These days i am working on Automatically Generating >>>>>>>>>>>>>>>>>>>>>>>> Client code. Now i able to generate Client Code using >>>>>>>>>>>>>>>>>>>>>>>> String Template. For >>>>>>>>>>>>>>>>>>>>>>>> That i Used previously Used String Template file with >>>>>>>>>>>>>>>>>>>>>>>> Some Modification. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Now project can generate the Stub file and >>>>>>>>>>>>>>>>>>>>>>>> automatically generate the Client Based on the WSDL >>>>>>>>>>>>>>>>>>>>>>>> and Stub. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> I have a doubt about using single string template >>>>>>>>>>>>>>>>>>>>>>> for generating client code for all stubs. The purpose >>>>>>>>>>>>>>>>>>>>>>> and the >>>>>>>>>>>>>>>>>>>>>>> implementation of each admin service is different. So >>>>>>>>>>>>>>>>>>>>>>> Can we use one string >>>>>>>>>>>>>>>>>>>>>>> template for generating the clients for all those >>>>>>>>>>>>>>>>>>>>>>> different WSDLs. String >>>>>>>>>>>>>>>>>>>>>>> template approach is better. IMO, we have to come up >>>>>>>>>>>>>>>>>>>>>>> with a way to treat >>>>>>>>>>>>>>>>>>>>>>> all different admin services through string templates. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Also generated Client can be used as Library to >>>>>>>>>>>>>>>>>>>>>>>> Robot Framework to implement keyword driven testing. >>>>>>>>>>>>>>>>>>>>>>>> Also it's possible to >>>>>>>>>>>>>>>>>>>>>>>> invoke Admin services and Assert the operation. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> With all of these modification i create the new >>>>>>>>>>>>>>>>>>>>>>>> Project and committed to the Git Repo. It is available >>>>>>>>>>>>>>>>>>>>>>>> at here. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> https://github.com/ruks/Automated-test-case-generation-tool/tree/991e6e21927288d237c0a8d1985b7d2787f91a9b/Auto-TAF >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Then for the next few days i'm hoping to understand >>>>>>>>>>>>>>>>>>>>>>>> the Robot Framework scripting in depth to verify >>>>>>>>>>>>>>>>>>>>>>>> whether we can improve >>>>>>>>>>>>>>>>>>>>>>>> Robot framework scripting. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Yes, We have to make test writing user friendly. >>>>>>>>>>>>>>>>>>>>>>> First we have to find points that make test writing >>>>>>>>>>>>>>>>>>>>>>> difficult. Then we have >>>>>>>>>>>>>>>>>>>>>>> to come up with a generic solution to call all those >>>>>>>>>>>>>>>>>>>>>>> difficulties. Can you >>>>>>>>>>>>>>>>>>>>>>> try to write test cases for some different admin >>>>>>>>>>>>>>>>>>>>>>> services with your >>>>>>>>>>>>>>>>>>>>>>> existing solution. Then you can refer those test to >>>>>>>>>>>>>>>>>>>>>>> analyze difficulties. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>>>>>>>>>> Malintha Adikari >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> On Sun, Jun 8, 2014 at 12:17 AM, Rukshan >>>>>>>>>>>>>>>>>>>>>>>> Chathuranga <rcruksha...@gmail.com> wrote: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Hi all, >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> These days i am working on solving the problems >>>>>>>>>>>>>>>>>>>>>>>>> that are occurred during the Client Generation. These >>>>>>>>>>>>>>>>>>>>>>>>> exceptions are >>>>>>>>>>>>>>>>>>>>>>>>> occurred when using the "cxf-codegen-plugin" with >>>>>>>>>>>>>>>>>>>>>>>>> wsdl2java. As a >>>>>>>>>>>>>>>>>>>>>>>>> alternative solution, i decided to understand the >>>>>>>>>>>>>>>>>>>>>>>>> existing service stub >>>>>>>>>>>>>>>>>>>>>>>>> generating procedure to generate Stub code. And then >>>>>>>>>>>>>>>>>>>>>>>>> generate Client code >>>>>>>>>>>>>>>>>>>>>>>>> that could be use as Library to Robot Framework. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> For that i refereed these two >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/trunk/service-stubs/ >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> https://svn.wso2.org/repos/wso2/carbon/platform/trunk/service-stubs/ >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> repositories to generate Stub >>>>>>>>>>>>>>>>>>>>>>>>> sources to support my requirement. up to now i could >>>>>>>>>>>>>>>>>>>>>>>>> be able to generate >>>>>>>>>>>>>>>>>>>>>>>>> Stub code for WSDL listed in these repositories. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Also the main problem had earlier the "certificate >>>>>>>>>>>>>>>>>>>>>>>>> Exception" occurred initiating Client, could be >>>>>>>>>>>>>>>>>>>>>>>>> solved by setting up certificate file properly in >>>>>>>>>>>>>>>>>>>>>>>>> system property. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Now Robot framework able to run test case with >>>>>>>>>>>>>>>>>>>>>>>>> authenticate and invoke some basic admin service that >>>>>>>>>>>>>>>>>>>>>>>>> are hard coded as >>>>>>>>>>>>>>>>>>>>>>>>> Library to Robot framework. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Thus my next step is to Generate this Library >>>>>>>>>>>>>>>>>>>>>>>>> Classes Automatically based on the WSDL file and >>>>>>>>>>>>>>>>>>>>>>>>> provide to the Robot >>>>>>>>>>>>>>>>>>>>>>>>> framework as Library. For this I decided to use my >>>>>>>>>>>>>>>>>>>>>>>>> previous method that >>>>>>>>>>>>>>>>>>>>>>>>> used String Template to generate Library Files, with >>>>>>>>>>>>>>>>>>>>>>>>> few modification. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Thanks and regards. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>>>>>> Sri lanka >>>>>>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Dharshana Warusavitharana >>>>>>>>>>>>>>>>>>>> Senior Software Engineer , Test Automation >>>>>>>>>>>>>>>>>>>> WSO2 Inc. http://wso2.com >>>>>>>>>>>>>>>>>>>> email : dharsha...@wso2.com <dharsha...@wso2.com> >>>>>>>>>>>>>>>>>>>> Tel : +94 11 214 5345 >>>>>>>>>>>>>>>>>>>> Fax :+94 11 2145300 >>>>>>>>>>>>>>>>>>>> cell : +94772202595 >>>>>>>>>>>>>>>>>>>> blog : http://dharshanaw.blogspot.com >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>>>>> Software Engineer >>>>>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>>>> >>>>>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>>> Sri lanka. >>>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>>>> Faculty Of Engineering, >>>>>>>>>>>> University Of Moratuwa. >>>>>>>>>>>> Sri lanka. >>>>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Malintha Adikari* >>>>>>>>>>> Software Engineer >>>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>> >>>>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>>>> Page: http://about.me/malintha >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Department Of Computer Science & Engineering, >>>>>>>>>> Faculty Of Engineering, >>>>>>>>>> University Of Moratuwa. >>>>>>>>>> Sri lanka. >>>>>>>>>> WEB: http://rukspot.com/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Malintha Adikari* >>>>>>>>> Software Engineer >>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>> lean.enterprise.middleware >>>>>>>>> >>>>>>>>> Mobile: +94 71 2312958 >>>>>>>>> Blog: http://malinthas.blogspot.com >>>>>>>>> Page: http://about.me/malintha >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Department Of Computer Science & Engineering, >>>>>>>> Faculty Of Engineering, >>>>>>>> University Of Moratuwa. >>>>>>>> Sri lanka. >>>>>>>> WEB: http://rukspot.com/ >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Department Of Computer Science & Engineering, >>>>>>> Faculty Of Engineering, >>>>>>> University Of Moratuwa. >>>>>>> Sri lanka. >>>>>>> WEB: http://rukspot.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Dharshana Warusavitharana >>>>>> Senior Software Engineer , Test Automation >>>>>> WSO2 Inc. http://wso2.com >>>>>> email : dharsha...@wso2.com <dharsha...@wso2.com> >>>>>> Tel : +94 11 214 5345 >>>>>> Fax :+94 11 2145300 >>>>>> cell : +94772202595 >>>>>> blog : http://dharshanaw.blogspot.com >>>>>> >>>>>> lean . enterprise . middleware >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Department Of Computer Science & Engineering, >>>>> Faculty Of Engineering, >>>>> University Of Moratuwa. >>>>> Sri lanka. >>>>> WEB: http://rukspot.com/ >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Malintha Adikari* >>>> Software Engineer >>>> WSO2 Inc.; http://wso2.com >>>> lean.enterprise.middleware >>>> >>>> Mobile: +94 71 2312958 >>>> Blog: http://malinthas.blogspot.com >>>> Page: http://about.me/malintha >>>> >>> >>> >>> >>> -- >>> Department Of Computer Science & Engineering, >>> Faculty Of Engineering, >>> University Of Moratuwa. >>> Sri lanka. >>> WEB: http://rukspot.com/ >>> >>> >> >> >> -- >> Department Of Computer Science & Engineering, >> Faculty Of Engineering, >> University Of Moratuwa. >> Sri lanka. >> WEB: http://rukspot.com/ >> >> > > > -- > > > *Rukshan Chathuranga.* > > *Department Of Computer Science & Engineering,* > > *Faculty Of Engineering,* > *University Of Moratuwa.* > *Sri lanka.* > > *WEB: http://rukspot.com/ <http://rukspot.com/> * > > -- *Malintha Adikari* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: +94 71 2312958 Blog: http://malinthas.blogspot.com Page: http://about.me/malintha
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev