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

Reply via email to