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