Hi Nathiesha,

Great! We can have the meeting at 3.00pm to 4.00pm tomorrow. I will send
the invitation. Meanwhile, please push the latest changes to github before
the meeting.

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 Thu, Aug 11, 2016 at 4:35 PM, Nathiesha Maddage <
[email protected]> wrote:

> Hi Kavith,
>
> I externalized the credentials in micro-service code and implemented the
> extension point. I plan to start on OSGI services part once I finalize the
> remaining small tasks in these sections.
>
> How about tomorrow evening for the next meeting? I have lectures in the
> morning. So it would be easy if we can arrange the meeting after 2 pm.
>
> Thanks and regards
> Nathiesha
>
> On Thu, Aug 11, 2016 at 11:42 AM, Kavith Lokuhewage <[email protected]>
> wrote:
>
>> Hi Nathiesha,
>>
>> How is the progress on remaining tasks? As per the previous update, you
>> are already done with configuring maven build + creating a basic
>> micro-service for publishing reports, aren't you?
>>
>> The remaining work was to externalize hard coded credentials in
>> micro-service code, implement the extension point for providing different
>> JIRA keys to report errors for specific java packages and define an OSGI
>> service to be able to contribute publishers via other eclipse plugins - if
>> needed in future.
>>
>> It would be great if we can finalize these soon as we are reaching
>> towards the end of GSOC program. Please suggest a time for a meeting
>> tomorrow. We can discuss about the issues you are facing - if any - and
>> discuss the plat to wrap the rest of the work by end of next week.
>>
>> 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 Fri, Aug 5, 2016 at 2:06 PM, Kavith Lokuhewage <[email protected]>
>> wrote:
>>
>>> Hi Nathiesha,
>>>
>>> Please join the hangout https://hangouts.googl
>>> e.com/hangouts/_/wso2.com/kavith
>>>
>>> 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 Fri, Aug 5, 2016 at 11:49 AM, Kavith Lokuhewage <[email protected]>
>>> wrote:
>>>
>>>> Hi Nathiesha,
>>>>
>>>> Great! I have sent you the invitation.
>>>>
>>>> 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>
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Nathiesha Maddage <[email protected]>
>>>> Date: Fri, Aug 5, 2016 at 9:36 AM
>>>> Subject: Re: [Dev] GSoC2016-Contact Development Team Feature
>>>> To: Kavith Lokuhewage <[email protected]>
>>>>
>>>>
>>>> Hi Kavith,
>>>>
>>>> That time is OK with me.
>>>>
>>>> Thanks
>>>> Nathiesha
>>>>
>>>>
>>>> On Fri, Aug 5, 2016 at 8:01 AM, Kavith Lokuhewage <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Nathiesha,
>>>>>
>>>>> Shall we have the meeting at 2pm – 3pm today? Please let us know your
>>>>> availability.
>>>>> 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 Thu, Aug 4, 2016 at 12:21 PM, Nathiesha Maddage <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Kavith,
>>>>>>
>>>>>> I started with creating a micro service. Thank you for the reference.
>>>>>> If you can please show me how to host it in the cloud, maybe during
>>>>>> tomorrow meeting.
>>>>>>
>>>>>> Thanks and regards
>>>>>>
>>>>>> Nathiesha
>>>>>>
>>>>>> On Wed, Aug 3, 2016 at 10:22 AM, Kavith Lokuhewage <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Nathiesha,
>>>>>>>
>>>>>>> Friday morning seems to work for us. I will send you an invitation
>>>>>>> shortly.
>>>>>>>
>>>>>>> BTW, instead of implementing a JAX-RS service, we can implement a
>>>>>>> micro service using WSO2 MSF4J 2.0.0. And WSO2 app cloud now supports
>>>>>>> deploying micro-services on the cloud.
>>>>>>>
>>>>>>> Please follow [1] to create a micro service. It has detailed steps
>>>>>>> with a hello world service sample. Once you define the service 
>>>>>>> structure,
>>>>>>> you will be able to reuse most of the code from existing publishers.
>>>>>>> However we have to externalize credentials for JIRA and SMTP to a
>>>>>>> file. You may use Java Preferences API to do that.
>>>>>>>
>>>>>>> For now, test it on your local env. We can directly host the jar in
>>>>>>> the cloud and get a URL for the service. I can show you how to do it in 
>>>>>>> a
>>>>>>> quick call if needed. Anyway, local testing is sufficient for now and 
>>>>>>> make
>>>>>>> sure that the service URL is configurable via eclipse preferences.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> [1] *https://github.com/wso2/msf4j <https://github.com/wso2/msf4j>*
>>>>>>>
>>>>>>> *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, Aug 3, 2016 at 8:58 AM, Nathiesha Maddage <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Kavith,
>>>>>>>>
>>>>>>>> I will fork the repo as you have suggested and I got started with
>>>>>>>> the REST API part.
>>>>>>>> How about Friday morning for the next meeting?
>>>>>>>>
>>>>>>>> Thanks and Regards
>>>>>>>>
>>>>>>>> Nathiesha
>>>>>>>>
>>>>>>>> On Tue, Aug 2, 2016 at 9:42 PM, Kavith Lokuhewage <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Nathiesha,
>>>>>>>>>
>>>>>>>>> Nothing wrong with both poms and yeah, pom1.xml will break the
>>>>>>>>> build. However, I think there's a proper solution to this.
>>>>>>>>> Take a fork of the developer-studio-kernel repo, add your plugin
>>>>>>>>> to plugins folder. Keep working on that repo afterwards. This way, 
>>>>>>>>> after
>>>>>>>>> finalizing the development, you can directly send a pull request to 
>>>>>>>>> kernel
>>>>>>>>> repo from your fork.
>>>>>>>>> Yes, we use the qualifier in versions, in addition to major, minor
>>>>>>>>> and patch version components.
>>>>>>>>>
>>>>>>>>> As we discussed during previous meeting, you can now start working
>>>>>>>>> on moving email and jira publishing logic to a web app and expose a 
>>>>>>>>> single
>>>>>>>>> rest API for to invoke them. So, eclipse plugin will call to this rest
>>>>>>>>> service and only a single publisher will be implemented in the 
>>>>>>>>> plugin. In
>>>>>>>>> this way, we can get rid of asking users to register on our jira and 
>>>>>>>>> asking
>>>>>>>>> them to enter their gmail credentials - both which are most likely 
>>>>>>>>> ignored
>>>>>>>>> by users. We will create a bot jira user and email account and keep 
>>>>>>>>> those
>>>>>>>>> credentials within the web app it self - and only ask users about 
>>>>>>>>> their
>>>>>>>>> contact information (name, email - in case we need to get back - and
>>>>>>>>> company) when sending the error report.
>>>>>>>>>
>>>>>>>>> BTW, we can have another review on this Friday. Please propose a
>>>>>>>>> time which fits for you.
>>>>>>>>>
>>>>>>>>> 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 Tue, Aug 2, 2016 at 8:33 AM, Nathiesha Maddage <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Kavith,
>>>>>>>>>>
>>>>>>>>>> I tried creating the pom.xml by referring to the Developer Studio
>>>>>>>>>> plugin projects in git hub. Following the same structure as in the 
>>>>>>>>>> github
>>>>>>>>>> plugin projects. I came up with this, pom1.xml.
>>>>>>>>>>
>>>>>>>>>> However since my project is still not under those parent projects
>>>>>>>>>> as in github, I created another pom2.xml as follows, by removing the 
>>>>>>>>>> parent
>>>>>>>>>> tag, by adding p2 repositaries and tycho plugin. After fixing couple 
>>>>>>>>>> of
>>>>>>>>>> errors, I could successfully build the project using pom2.xml.
>>>>>>>>>>
>>>>>>>>>> Can you please have a look at the two pom.xml files and tell me
>>>>>>>>>> if they seem to be OK or if there are any issues in them? If that is 
>>>>>>>>>> OK, I
>>>>>>>>>> can move to the next milestone of the project.
>>>>>>>>>>
>>>>>>>>>> Furthermore I changed the Bundle-Version in the project manifest
>>>>>>>>>> to 4.2.0.qualifier, because the plugin projects in git hub under 
>>>>>>>>>> Developer
>>>>>>>>>> studio seem to have that version. I hope that is OK.
>>>>>>>>>>
>>>>>>>>>> Thanks for the article on osgi services. I will go through it.
>>>>>>>>>>
>>>>>>>>>> Thanks and regards
>>>>>>>>>>
>>>>>>>>>> Nathiesha
>>>>>>>>>>
>>>>>>>>>> On Mon, Aug 1, 2016 at 8:22 AM, Kavith Lokuhewage <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Nathiesha,
>>>>>>>>>>>
>>>>>>>>>>> How is the progress on converting project to a maven project?
>>>>>>>>>>> Please let us know if you face any issues.
>>>>>>>>>>>
>>>>>>>>>>> BTW, [1] is a good article on osgi services with eclipse
>>>>>>>>>>> plugins. We can use them for further decoupling publishers and 
>>>>>>>>>>> report
>>>>>>>>>>> generators.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> [1] http://www.vogella.com/tutorials/OSGiServices/article.html
>>>>>>>>>>>
>>>>>>>>>>> On 29 Jul 2016 5:19 p.m., "Nathiesha Maddage" <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> 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 <
>>>>>>>>>>>> [email protected]> 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 <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> 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