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