Hi, I have completed almost all of the coding part now, and working with fixing a few left errors and tidying the code.
I plan to submit the plugin project, feature project and the documentation as the deliverable. For the final submission, I need to upload a URL that contains our project. For that Google has provided certain examples such as the link of Git Hub commits, a web page or a blog post, public folder in Google Drive etc. [1] What would be the best way of submission, for our project? [1]. https://developers.google.com/open-source/gsoc/help/work-product Thanks and regards Nathiesha On Thu, Aug 11, 2016 at 4:40 PM, Kavith Lokuhewage <kav...@wso2.com> wrote: > Hi Nathiesha, > > Great! We can have the meeting at 3.00pm to 4.00pm tomorrow. I will send > the invitation. Meanwhile, please push the latest changes to github before > the meeting. > > 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 Thu, Aug 11, 2016 at 4:35 PM, Nathiesha Maddage < > nathieshamadd...@gmail.com> wrote: > >> Hi Kavith, >> >> I externalized the credentials in micro-service code and implemented the >> extension point. I plan to start on OSGI services part once I finalize the >> remaining small tasks in these sections. >> >> How about tomorrow evening for the next meeting? I have lectures in the >> morning. So it would be easy if we can arrange the meeting after 2 pm. >> >> Thanks and regards >> Nathiesha >> >> On Thu, Aug 11, 2016 at 11:42 AM, Kavith Lokuhewage <kav...@wso2.com> >> wrote: >> >>> Hi Nathiesha, >>> >>> How is the progress on remaining tasks? As per the previous update, you >>> are already done with configuring maven build + creating a basic >>> micro-service for publishing reports, aren't you? >>> >>> The remaining work was to externalize hard coded credentials in >>> micro-service code, implement the extension point for providing different >>> JIRA keys to report errors for specific java packages and define an OSGI >>> service to be able to contribute publishers via other eclipse plugins - if >>> needed in future. >>> >>> It would be great if we can finalize these soon as we are reaching >>> towards the end of GSOC program. Please suggest a time for a meeting >>> tomorrow. We can discuss about the issues you are facing - if any - and >>> discuss the plat to wrap the rest of the work by end of next week. >>> >>> 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 Fri, Aug 5, 2016 at 2:06 PM, Kavith Lokuhewage <kav...@wso2.com> >>> wrote: >>> >>>> Hi Nathiesha, >>>> >>>> Please join the hangout https://hangouts.googl >>>> e.com/hangouts/_/wso2.com/kavith >>>> >>>> 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 Fri, Aug 5, 2016 at 11:49 AM, Kavith Lokuhewage <kav...@wso2.com> >>>> wrote: >>>> >>>>> Hi Nathiesha, >>>>> >>>>> Great! I have sent you the invitation. >>>>> >>>>> 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> >>>>> >>>>> ---------- Forwarded message ---------- >>>>> From: Nathiesha Maddage <nathieshamadd...@gmail.com> >>>>> Date: Fri, Aug 5, 2016 at 9:36 AM >>>>> Subject: Re: [Dev] GSoC2016-Contact Development Team Feature >>>>> To: Kavith Lokuhewage <kav...@wso2.com> >>>>> >>>>> >>>>> Hi Kavith, >>>>> >>>>> That time is OK with me. >>>>> >>>>> Thanks >>>>> Nathiesha >>>>> >>>>> >>>>> On Fri, Aug 5, 2016 at 8:01 AM, Kavith Lokuhewage <kav...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Nathiesha, >>>>>> >>>>>> Shall we have the meeting at 2pm – 3pm today? Please let us know >>>>>> your availability. >>>>>> 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 Thu, Aug 4, 2016 at 12:21 PM, Nathiesha Maddage < >>>>>> nathieshamadd...@gmail.com> wrote: >>>>>> >>>>>>> Hi Kavith, >>>>>>> >>>>>>> I started with creating a micro service. Thank you for the >>>>>>> reference. >>>>>>> If you can please show me how to host it in the cloud, maybe during >>>>>>> tomorrow meeting. >>>>>>> >>>>>>> Thanks and regards >>>>>>> >>>>>>> Nathiesha >>>>>>> >>>>>>> On Wed, Aug 3, 2016 at 10:22 AM, Kavith Lokuhewage <kav...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Nathiesha, >>>>>>>> >>>>>>>> Friday morning seems to work for us. I will send you an invitation >>>>>>>> shortly. >>>>>>>> >>>>>>>> BTW, instead of implementing a JAX-RS service, we can implement a >>>>>>>> micro service using WSO2 MSF4J 2.0.0. And WSO2 app cloud now supports >>>>>>>> deploying micro-services on the cloud. >>>>>>>> >>>>>>>> Please follow [1] to create a micro service. It has detailed steps >>>>>>>> with a hello world service sample. Once you define the service >>>>>>>> structure, >>>>>>>> you will be able to reuse most of the code from existing publishers. >>>>>>>> However we have to externalize credentials for JIRA and SMTP to a >>>>>>>> file. You may use Java Preferences API to do that. >>>>>>>> >>>>>>>> For now, test it on your local env. We can directly host the jar in >>>>>>>> the cloud and get a URL for the service. I can show you how to do it >>>>>>>> in a >>>>>>>> quick call if needed. Anyway, local testing is sufficient for now and >>>>>>>> make >>>>>>>> sure that the service URL is configurable via eclipse preferences. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> [1] *https://github.com/wso2/msf4j <https://github.com/wso2/msf4j>* >>>>>>>> >>>>>>>> *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, Aug 3, 2016 at 8:58 AM, Nathiesha Maddage < >>>>>>>> nathieshamadd...@gmail.com> wrote: >>>>>>>> >>>>>>>>> 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