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