Ticket #1639 (closed unplanned_task: obsolete)

Opened 10 years ago

Last modified 10 years ago

GROUP_PLUGINS_R0

Reported by: boyan Owned by: boyan
Priority: major Milestone: M06_ALPHA1
Component: PLUGIN_ARCHITECTURE Version: 2.0
Keywords: Cc:
Category: PLATFORM Effort: 0
Importance: 90 Ticket_group:
Estimated Number of Hours: Add Hours to Ticket:
Billable?: Total Hours:
Analysis_owners: boyan Design_owners: boyan,pav
Imp._owners: boyan,pav Test_owners:
Analysis_reviewers: nenko Changelog:
Design_reviewers: nenko Imp._reviewers: pap
Test_reviewers: Analysis_score: 4
Design_score: 4 Imp._score: 3
Test_score: 0

Change History

comment:1 Changed 10 years ago by boyan

  • Status changed from new to s1a_analysis_started

analysis started

comment:2 Changed 10 years ago by boyan

  • Status changed from s1a_analysis_started to s1b_analysis_finished
  • Analysis_owners set to boyan

analysis finished (1.5h)

comment:3 Changed 10 years ago by nenko

  • Status changed from s1b_analysis_finished to s1c_analysis_ok
  • Analysis_reviewers set to nenko
  • Analysis_score changed from 0 to 4

comment:4 Changed 10 years ago by boyan

  • Design_owners set to boyan,pav
  • Status changed from s1c_analysis_ok to s2a_design_started

starting design

comment:5 Changed 10 years ago by boyan

  • Status changed from s2a_design_started to s2b_design_finished

finished design

comment:6 Changed 10 years ago by nenko

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 4
  • Design_reviewers set to nenko

comment:7 Changed 10 years ago by boyan

  • Status changed from s2c_design_ok to s3a_implementation_started
  • Imp._owners set to boyan,pav

starting implementation

comment:8 Changed 10 years ago by boyan

  • Status changed from s3a_implementation_started to s3b_implementation_finished

finished implementation

comment:9 Changed 10 years ago by pap

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 0 to 3
  • Imp._reviewers set to pap

Generally OK but I have some remarks:

  • The registerModule method in the TrueModuleRegistry class you state that no module can be registered twice. But you use this method in the start method os SophieModule. The last is called every time an OSGI bundle is activated so when we implement hot enabling of plug-ins this will cause problems. Perhaps you should unregister modules when they are stopped
  • In the setup method of the swingComponent property of the PluginAboutPalette class you do a try/catch of a NullPointerException. In this case you should use a conditional operator checking whether the pluginsPalette or its firstSelectedItem property is null. What you have done is quite a bad practice as the generation and transferring of the stack trace of the exception is something slow.
  • The case is the same with the findModulesDir method in the FileEntryManager class.
  • The get method of the FileEntryManager class has incorrect JavaDoc
  • I think that there is a mising else clause in the getRoRoots method in the FileEntryManager class. IMHO for jar files you add src and target entries.
  • Also I think it is good to add yourself to the authors list in the classes JavaDoc when you modify them. I.e. the TrueModuleRegistry class
  • Although it may look a bit clumsy but I think it is better if you make all those strings in the FileEntryManager class constants ("target", "tmp-distrib", "resources", etc.).
  • It is good idea to minimize the scope and lifespane of variables. This is done by declaring them where you need them and not in the begining of a method. I.e. in the getReadableFileEntry method in the FileEntryManager class you should declare and initialize the roRoots variable just before the for statement or even in the statement itself. This way you will save some unnecessary computations.

comment:10 Changed 10 years ago by deyan

  • Status changed from s3c_implementation_ok to closed
  • Resolution set to obsolete

Batch update from file query-obsoleted.csv

Note: See TracTickets for help on using tickets.