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 <kav...@wso2.com> 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 <kav...@wso2.com> wrote:
>
>> Hi Nathiesha,
>>
>> Please join the hangout https://hangouts.google.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 <kav...@wso2.com>
>> 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 <nathieshamadd...@gmail.com>
>>> Date: Fri, Aug 5, 2016 at 9:36 AM
>>> Subject: Re: [Dev] GSoC2016-Contact Development Team Feature
>>> To: Kavith Lokuhewage <kav...@wso2.com>
>>>
>>>
>>> Hi Kavith,
>>>
>>> That time is OK with me.
>>>
>>> Thanks
>>> Nathiesha
>>>
>>>
>>> On Fri, Aug 5, 2016 at 8:01 AM, Kavith Lokuhewage <kav...@wso2.com>
>>> 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 <
>>>> nathieshamadd...@gmail.com> 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 <kav...@wso2.com>
>>>>> 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 <
>>>>>> nathieshamadd...@gmail.com> 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 <kav...@wso2.com>
>>>>>>> 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 <
>>>>>>>> nathieshamadd...@gmail.com> 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 <kav...@wso2.com
>>>>>>>>> > 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" <
>>>>>>>>>> nathieshamadd...@gmail.com> 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 <
>>>>>>>>>>> nathieshamadd...@gmail.com> 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 <
>>>>>>>>>>>> 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