Hi Kavith,

I accepted the invitation.

Thanks and regards
Nathiesha

On Mon, Jul 25, 2016 at 8:42 PM, Kavith Lokuhewage <[email protected]> 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 <
> [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