Hi Kavith, I will fork the repo as you have suggested and I got started with the REST API part. How about Friday morning for the next meeting?
Thanks and Regards Nathiesha On Tue, Aug 2, 2016 at 9:42 PM, Kavith Lokuhewage <kav...@wso2.com> wrote: > Hi Nathiesha, > > Nothing wrong with both poms and yeah, pom1.xml will break the build. > However, I think there's a proper solution to this. > Take a fork of the developer-studio-kernel repo, add your plugin to > plugins folder. Keep working on that repo afterwards. This way, after > finalizing the development, you can directly send a pull request to kernel > repo from your fork. > Yes, we use the qualifier in versions, in addition to major, minor and > patch version components. > > As we discussed during previous meeting, you can now start working on > moving email and jira publishing logic to a web app and expose a single > rest API for to invoke them. So, eclipse plugin will call to this rest > service and only a single publisher will be implemented in the plugin. In > this way, we can get rid of asking users to register on our jira and asking > them to enter their gmail credentials - both which are most likely ignored > by users. We will create a bot jira user and email account and keep those > credentials within the web app it self - and only ask users about their > contact information (name, email - in case we need to get back - and > company) when sending the error report. > > BTW, we can have another review on this Friday. Please propose a time > which fits for you. > > Thanks, > > > *Kavith Lokuhewage* > Senior Software Engineer > WSO2 Inc. - http://wso2.com > lean . enterprise . middleware > Mobile - +94779145123 > Linkedin <http://www.linkedin.com/pub/kavith-lokuhewage/49/473/419> > Twitter <https://twitter.com/KavithThiranga> > > On Tue, Aug 2, 2016 at 8:33 AM, Nathiesha Maddage < > nathieshamadd...@gmail.com> wrote: > >> Hi Kavith, >> >> I tried creating the pom.xml by referring to the Developer Studio plugin >> projects in git hub. Following the same structure as in the github plugin >> projects. I came up with this, pom1.xml. >> >> However since my project is still not under those parent projects as in >> github, I created another pom2.xml as follows, by removing the parent tag, >> by adding p2 repositaries and tycho plugin. After fixing couple of errors, >> I could successfully build the project using pom2.xml. >> >> Can you please have a look at the two pom.xml files and tell me if they >> seem to be OK or if there are any issues in them? If that is OK, I can move >> to the next milestone of the project. >> >> Furthermore I changed the Bundle-Version in the project manifest to >> 4.2.0.qualifier, because the plugin projects in git hub under Developer >> studio seem to have that version. I hope that is OK. >> >> Thanks for the article on osgi services. I will go through it. >> >> Thanks and regards >> >> Nathiesha >> >> On Mon, Aug 1, 2016 at 8:22 AM, Kavith Lokuhewage <kav...@wso2.com> >> wrote: >> >>> Hi Nathiesha, >>> >>> How is the progress on converting project to a maven project? Please let >>> us know if you face any issues. >>> >>> BTW, [1] is a good article on osgi services with eclipse plugins. We can >>> use them for further decoupling publishers and report generators. >>> >>> Thanks, >>> >>> [1] http://www.vogella.com/tutorials/OSGiServices/article.html >>> >>> On 29 Jul 2016 5:19 p.m., "Nathiesha Maddage" < >>> nathieshamadd...@gmail.com> wrote: >>> >>>> Hi Jasintha and Kavith, >>>> >>>> Here is the project plan for the upcoming 3/4 weeks. >>>> >>>> *July 30th-1st Aug* >>>> >>>> >>>> - Add and configure pom.xml >>>> - Use Maven tycho plugin >>>> - Build project using Maven >>>> >>>> >>>> >>>> *2nd Aug-6th Aug* >>>> >>>> >>>> - Write a REST web service to publish errors, deploy in tomcat and >>>> testing. >>>> - Add options for the current plugin project to use above web >>>> service >>>> - Add current project classes and methods to be comply with above >>>> changes >>>> >>>> >>>> *7th Aug-11th Aug* >>>> >>>> >>>> - Define an extension point of the plugin >>>> - Add methods to get the registered plugins and their Project >>>> keys, to maintain a map >>>> - Add methods to group errors under their required plugins >>>> - Change the publisher methods to create multiple issues in Jira >>>> >>>> >>>> *12th Aug -15th Aug* >>>> >>>> >>>> - Improve ErrorPublisher interfaces >>>> - Write OSGI services for ErrorPublisher interfaces >>>> >>>> >>>> >>>> *16th Aug – 17th Aug* >>>> >>>> >>>> - Create Feature Project using the plugin >>>> >>>> >>>> * 18th Aug – 20th Aug* >>>> >>>> >>>> - Refine the code >>>> - Fix bugs >>>> - Testing >>>> >>>> >>>> *21st Aug – 22nd Aug* >>>> >>>> >>>> - Documentation >>>> >>>> >>>> Thanks and regards >>>> >>>> Nathiesha >>>> >>>> >>>> On Fri, Jul 29, 2016 at 9:48 AM, Nathiesha Maddage < >>>> nathieshamadd...@gmail.com> wrote: >>>> >>>>> Hi all, >>>>> >>>>> Here are the minutes of the meeting I had yesterday (28/07/16) with >>>>> Jasintha and Kavith. >>>>> >>>>> During the meeting the current project progress was discussed and >>>>> suggestions were made to improve and finalize the development of the >>>>> project. Listed below are the key points discussed during the meeting. >>>>> >>>>> 1. Instructions were given on how to add pom.xml, to change its >>>>> fields to match with the project , to use Maven tycho plugin and to build >>>>> the project using maven. >>>>> >>>>> 2. Suggestions were made on creating and improving interfaces >>>>> like ErrorPublisher and ReportGenerator, and how to call the publish >>>>> method >>>>> of all the registered publishers using an iterator in the main controller >>>>> class. >>>>> >>>>> 3. We planned to add another option for the user, where he does >>>>> not have any gmail and jira credentials, but a remote server would take >>>>> care of publishing the error using a common general account. For that I >>>>> was >>>>> asked to write a REST web service that would handle this procedure, and to >>>>> deploy it in tomcat for testing. Possibility of using micro services for >>>>> this was also discussed. >>>>> >>>>> 4. We planned to add multiple project keys for the jira create >>>>> issue option where required, and to assign the project key based on the >>>>> plugin that is responsible for the error. For that purpose, it was >>>>> suggested to create an extension point of the project, so other plugins >>>>> can >>>>> extend it and define their own project key. Using this all the plugins >>>>> that >>>>> have extended the error reporter plugin and their respective project keys >>>>> can be fetched, and a map can be maintained, to be used during the error >>>>> reporting process. >>>>> >>>>> 5. To expose the Publisher classes, OSGI services will be >>>>> introduced to the project. >>>>> >>>>> 6. It was suggested to create a feature by adding this plugin. >>>>> >>>>> >>>>> Furthermore instructions were given on the documentation required for >>>>> the project, and time frame for documentation was suggested. And I was >>>>> asked to send a project plan for the upcoming 3 weeks. >>>>> >>>>> >>>>> Thanks and regards >>>>> >>>>> Nathiesha >>>>> >>>>> >>>>> On Tue, Jul 26, 2016 at 7:39 AM, Nathiesha Maddage < >>>>> nathieshamadd...@gmail.com> wrote: >>>>> >>>>>> Hi Kavith, >>>>>> >>>>>> I accepted the invitation. >>>>>> >>>>>> Thanks and regards >>>>>> Nathiesha >>>>>> >>>>>> On Mon, Jul 25, 2016 at 8:42 PM, Kavith Lokuhewage <kav...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Nathiesha, >>>>>>> >>>>>>> I have sent the invitation for the meeting at 2pm-3pm on 28/07/2016 >>>>>>> [1]. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> [1] https://goo.gl/PLEWQd >>>>>>> >>>>>>> >>>>>>> *Kavith Lokuhewage* >>>>>>> Senior Software Engineer >>>>>>> WSO2 Inc. - http://wso2.com >>>>>>> lean . enterprise . middleware >>>>>>> Mobile - +94779145123 >>>>>>> Linkedin <http://www.linkedin.com/pub/kavith-lokuhewage/49/473/419> >>>>>>> Twitter <https://twitter.com/KavithThiranga> >>>>>>> >>>>>>> On Mon, Jul 25, 2016 at 8:13 PM, Nathiesha Maddage < >>>>>>> nathieshamadd...@gmail.com> wrote: >>>>>>> >>>>>>>> Hi Kavith, >>>>>>>> >>>>>>>> How about Thursday evening, for the meeting? I am free after 1 pm. >>>>>>>> >>>>>>>> Thank you for the examples. I was going to refactor the code by >>>>>>>> introducing the interfaces as you suggested during the mid evaluation. >>>>>>>> But >>>>>>>> I was not sure how to do that. I will try to change the code as given >>>>>>>> in >>>>>>>> the examples before the next meeting. >>>>>>>> >>>>>>>> I think it is good to start converting the project to a maven >>>>>>>> project as only a few weeks remaining to finalize the project. We can >>>>>>>> discuss about that during the meeting. >>>>>>>> >>>>>>>> Thanks and regards >>>>>>>> >>>>>>>> Nathiesha >>>>>>>> >>>>>>>> On Mon, Jul 25, 2016 at 3:10 PM, Kavith Lokuhewage <kav...@wso2.com >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Hi Nathiesha, >>>>>>>>> >>>>>>>>> I noticed that there are some more pending tasks to restructure >>>>>>>>> the code base as per the discussion we had during last code review. >>>>>>>>> Just >>>>>>>>> putting them down here again, so that you are able to go through >>>>>>>>> again and >>>>>>>>> complete any missing parts. >>>>>>>>> >>>>>>>>> *Introduce interfaces for the each sub component to decouple main >>>>>>>>> controller logic from implementation specific things* >>>>>>>>> >>>>>>>>> For example, right now, the controller class (ErrorReporter) is >>>>>>>>> hardly coupled with EmailSender and RemoteJiraConnector. We can think >>>>>>>>> latter two as error report publishers and introduce an interface >>>>>>>>> called >>>>>>>>> ErrorPublisher as below. >>>>>>>>> >>>>>>>>> public interface ErrorPublisher{ >>>>>>>>> void publish(ReportGenerator reportGen) throws IOException; >>>>>>>>> } >>>>>>>>> >>>>>>>>> And then EmailSender and RemoreJiraConnector classes can be >>>>>>>>> refactored like below. >>>>>>>>> >>>>>>>>> public class EmailPublisher implements ErrorPublisher{ >>>>>>>>> >>>>>>>>> void init () throws IOException{ >>>>>>>>> //init : read preferences for SMTP connection params >>>>>>>>> } >>>>>>>>> >>>>>>>>> // implement publish method >>>>>>>>> void publish(ReportGenerator reportGen) throws IOException{ >>>>>>>>> init(); >>>>>>>>> //send mail >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> public class JiraPublisher implements ErrorPublisher{ >>>>>>>>> >>>>>>>>> void init () throws IOException{ >>>>>>>>> //init : read preferences for JIRA resp API connection >>>>>>>>> params >>>>>>>>> } >>>>>>>>> >>>>>>>>> // implement publish method >>>>>>>>> void publish(ReportGenerator reportGen) throws IOException{ >>>>>>>>> init(); >>>>>>>>> //post to JIRA api and create issue >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> Finally refactor ErrorReporter class to use only ErrorPublisher >>>>>>>>> interface. Further more, introduce methods to bind/unbind error >>>>>>>>> publishers. >>>>>>>>> >>>>>>>>> public class ErrorReporter { >>>>>>>>> Map<String, ErrorPublisher> registeredPublishers; >>>>>>>>> >>>>>>>>> public void addPublisher (String id, ErrorPublisher publisher){ >>>>>>>>> registeredPublishers.put(id,publisher); >>>>>>>>> } >>>>>>>>> >>>>>>>>> public void reportError(){ >>>>>>>>> //iterate over all publishers >>>>>>>>> // and call publish() method >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> (We can further ErrorReporter class by using OSGI services to let >>>>>>>>> other devstudio plugins to contribute publishers as needed - we can >>>>>>>>> do that >>>>>>>>> later as time permits) >>>>>>>>> >>>>>>>>> For another example, currently you have used a class >>>>>>>>> called ReportGenerator to generate the report in plain text and >>>>>>>>> directly >>>>>>>>> used that generator inside main controller. Instead, you can >>>>>>>>> introduce an >>>>>>>>> interface called ReportGenerator and create a class called >>>>>>>>> TextReportGenerator and move the code there - and decouple main >>>>>>>>> controller >>>>>>>>> and let other people add report generators later (say an HTML report >>>>>>>>> generator) as needed. It can be done in same manner as above example >>>>>>>>> I have >>>>>>>>> provided . >>>>>>>>> >>>>>>>>> Once you do above restructuring, we can further improve the code >>>>>>>>> to use OSGI services to decouple these components even further. >>>>>>>>> >>>>>>>>> Finally, I think it is time for us to convert the project to a >>>>>>>>> maven project and use tycho maven plugins for building it. I can >>>>>>>>> assist you >>>>>>>>> with this task - let's discuss this furthermore during the call. The >>>>>>>>> main >>>>>>>>> requirement here is to make this project directly mergable to >>>>>>>>> developer >>>>>>>>> studio repository. Since we are now reaching to the final weeks of >>>>>>>>> GSOC >>>>>>>>> coding period, I think we should concentrate a little more on this >>>>>>>>> task. >>>>>>>>> >>>>>>>>> Please a suggest a time for the meeting so we are able to discuss >>>>>>>>> these in-detail. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> *Kavith Lokuhewage* >>>>>>>>> Senior Software Engineer >>>>>>>>> WSO2 Inc. - http://wso2.com >>>>>>>>> lean . enterprise . middleware >>>>>>>>> Mobile - +94779145123 >>>>>>>>> Linkedin >>>>>>>>> <http://www.linkedin.com/pub/kavith-lokuhewage/49/473/419> >>>>>>>>> Twitter <https://twitter.com/KavithThiranga> >>>>>>>>> >>>>>>>>> On Mon, Jul 25, 2016 at 2:11 PM, Kavith Lokuhewage < >>>>>>>>> kav...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi Nathiesha, >>>>>>>>>> >>>>>>>>>> There were some changes done to preference API since Eclipse >>>>>>>>>> Mars. I suspect that the root cause for the issue should be it. I >>>>>>>>>> will go >>>>>>>>>> through the changes we did in Developer Studio to fix issues with >>>>>>>>>> new pref >>>>>>>>>> API and confirm you whether it is the root cause or not. >>>>>>>>>> >>>>>>>>>> Meanwhile, please suggest a time for another meeting this week - >>>>>>>>>> probably on Thursday or Friday. We will go through the complete >>>>>>>>>> implementation to verify that everything is in order. >>>>>>>>>> I went through the code and have some comments too. I will put >>>>>>>>>> them in github it self. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> >>>>>>>>>> *Kavith Lokuhewage* >>>>>>>>>> Senior Software Engineer >>>>>>>>>> WSO2 Inc. - http://wso2.com >>>>>>>>>> lean . enterprise . middleware >>>>>>>>>> Mobile - +94779145123 >>>>>>>>>> Linkedin >>>>>>>>>> <http://www.linkedin.com/pub/kavith-lokuhewage/49/473/419> >>>>>>>>>> Twitter <https://twitter.com/KavithThiranga> >>>>>>>>>> >>>>>>>>>> On Wed, Jul 20, 2016 at 10:20 AM, Nathiesha Maddage < >>>>>>>>>> nathieshamadd...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi all, >>>>>>>>>>> >>>>>>>>>>> I started unit testing with InfoCollector and Startup Classes, >>>>>>>>>>> and created a few unit tests using JUnit. >>>>>>>>>>> >>>>>>>>>>> Regarding the progress of the project, I am currently working on >>>>>>>>>>> the ReportArchive module. The ReportArchive module currently >>>>>>>>>>> displays all >>>>>>>>>>> the sent error reports to the user in a window, and I am working >>>>>>>>>>> on adding >>>>>>>>>>> a context menu option for each error report to inquire the current >>>>>>>>>>> status >>>>>>>>>>> of the issue. >>>>>>>>>>> >>>>>>>>>>> Regarding the Preference page, I tried creating a Input Dialog, >>>>>>>>>>> that would open up for the very first time the plugin reports an >>>>>>>>>>> error to >>>>>>>>>>> the user. This dialog would ask the user to fill values to >>>>>>>>>>> compulsory >>>>>>>>>>> fields like Jira Username and Password, and it would store these >>>>>>>>>>> values in >>>>>>>>>>> the preference page as well, for future use. >>>>>>>>>>> >>>>>>>>>>> I tried to save the user entered values in Input dialog, to the >>>>>>>>>>> preference page >>>>>>>>>>> using Activator.getDefault().getPreferenceStore().setValue() >>>>>>>>>>> method. This >>>>>>>>>>> method would set the user entered values in respective fields of the >>>>>>>>>>> preference page, but that is just temporary. These values disappear >>>>>>>>>>> from >>>>>>>>>>> the preference page the next time I run it. Only the default set >>>>>>>>>>> values by >>>>>>>>>>> the code and the values that I enter in the preference page there >>>>>>>>>>> itself >>>>>>>>>>> would retain permanently. I tried to fix this for a couple of days >>>>>>>>>>> and >>>>>>>>>>> tried almost every solution I could find in the internet regarding >>>>>>>>>>> this. >>>>>>>>>>> >>>>>>>>>>> Have you encountered a situation like this where you have to set >>>>>>>>>>> the values in preference page through code? Any idea whether this is >>>>>>>>>>> possible and if so how to do it would be of big help! >>>>>>>>>>> >>>>>>>>>>> Best regards >>>>>>>>>>> >>>>>>>>>>> Nathiesha >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Jul 7, 2016 at 6:31 AM, Nathiesha Maddage < >>>>>>>>>>> nathieshamadd...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi all, >>>>>>>>>>>> >>>>>>>>>>>> Regarding the current status of the project, I am working on >>>>>>>>>>>> the development of the report Archive module, where the user can >>>>>>>>>>>> view the >>>>>>>>>>>> previously sent error reports and also the current status of those >>>>>>>>>>>> issues. >>>>>>>>>>>> Meanwhile I thought to look into the testing part of the project >>>>>>>>>>>> as well. >>>>>>>>>>>> Is their any special testing framework used in Developer Studio >>>>>>>>>>>> testing, >>>>>>>>>>>> that I need to adopt? I though to use JUnit. Is it OK? >>>>>>>>>>>> >>>>>>>>>>>> Regards >>>>>>>>>>>> >>>>>>>>>>>> Nathiesha >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Jun 28, 2016 at 9:34 AM, Nathiesha Maddage < >>>>>>>>>>>> nathieshamadd...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> I downloaded and tried running the Data Analytics Server . >>>>>>>>>>>>> Currently I am going through the DAS documentation and the REST >>>>>>>>>>>>> API. Is it >>>>>>>>>>>>> possible to post data using the REST API? As I noticed, it only >>>>>>>>>>>>> allows to >>>>>>>>>>>>> retrieve data from the DAS. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks and regards >>>>>>>>>>>>> >>>>>>>>>>>>> Nathiesha >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev