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 <
[email protected]> 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 <[email protected]>
> 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 <[email protected]>
>> 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 <
>>> [email protected]> 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 <
>>>> [email protected]> 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 <
>>>>> [email protected]> 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
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to