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
