Ticket #989 (closed planned_task: obsolete)

Opened 11 years ago

Last modified 10 years ago

ANNOTATIONS_EXPORT_IMPORT_R1

Reported by: Astea Owned by: mitex
Priority: 3 Milestone: M07_ALPHA2
Component: DOMAIN_ELEMENTS Version: 2.0
Keywords: Cc:
Category: EXTRA Effort: 2
Importance: 0 Ticket_group:
Estimated Number of Hours: Add Hours to Ticket:
Billable?: Total Hours:
Analysis_owners: mitex Design_owners: mitex
Imp._owners: mitex Test_owners:
Analysis_reviewers: deyan Changelog:
Design_reviewers: meddle Imp._reviewers: meddle, meddle, mira, meddle
Test_reviewers: Analysis_score: 4
Design_score: 3.5 Imp._score: 3
Test_score: 0

Description

wiki page: ANNOTATIONS_EXPORT_IMPORT_R1 - effort: 2d

Change History

comment:1 Changed 10 years ago by mitex

  • Design_owners set to mitex
  • Status changed from new to s1a_analysis_started
  • Imp._owners set to mitex
  • Analysis_score set to 0
  • Test_score set to 0
  • Design_score set to 0
  • Owner changed from Astea to mitex
  • Imp._score set to 0
  • Analysis_owners set to mitex

analysis started

comment:2 Changed 10 years ago by mitex

  • Status changed from s1a_analysis_started to s1b_analysis_finished

comment:3 Changed 10 years ago by deyan

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

comment:4 Changed 10 years ago by mitex

  • Status changed from s1c_analysis_ok to s2a_design_started

comment:5 Changed 10 years ago by mitex

  • Status changed from s2a_design_started to s2b_design_finished

comment:6 Changed 10 years ago by meddle

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 3.5
  • Design_reviewers set to meddle
  • Design notes:
    • The design is not clear for this things:
      • How do you understand if the file is valid, you look the resource type from the storage? Because if the file is Sophie book it will be valid resource saved in file... How do you make the difference?
      • You may use different extension than "sjrb" for your files, but consult with Milo about this.
  • Code notes:
    • You create resources wrongly, you must give their parent resources on create.
    • This printStorage method in your test must use the logger if it's not commented... don't give us code with sysos on the design or implementation stage

3.5p (35m)

comment:7 Changed 10 years ago by mitex

  • Status changed from s2c_design_ok to s3a_implementation_started

comment:8 Changed 10 years ago by mitex

  • Status changed from s3a_implementation_started to s3b_implementation_finished

comment:9 Changed 10 years ago by meddle

  • Status changed from s3b_implementation_finished to s2c_design_ok
  • Imp._score changed from 0 to 2.5
  • Imp._reviewers set to meddle

I'll fail the two annotation tasks because they are not tested and are not synchronized with the trunk.

2.5p (15m)

comment:10 Changed 10 years ago by mitex

  • Status changed from s2c_design_ok to s3a_implementation_started

comment:11 Changed 10 years ago by mitex

  • Status changed from s3a_implementation_started to s3b_implementation_finished

comment:12 Changed 10 years ago by meddle

  • Status changed from s3b_implementation_finished to s2c_design_ok
  • Imp._score changed from 2.5 to 2
  • Imp._reviewers changed from meddle to meddle, meddle, mira
  • Behavior related notes:
    • You broke the true reader... There is an exception when it is started:
      Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/sophie2/main/app/halos/page/element/PageElementMoveHaloButton
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
      	at org.apache.felix.framework.searchpolicy.ContentClassLoader.findClass(ContentClassLoader.java:214)
      	at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClassFromModule(ContentClassLoader.java:85)
      	at org.apache.felix.framework.searchpolicy.ContentLoaderImpl.getClass(ContentLoaderImpl.java:141)
      	at org.apache.felix.framework.searchpolicy.R4Wire.getClass(R4Wire.java:101)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.searchImports(R4SearchPolicyCore.java:507)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:468)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:187)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
      	at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      	at org.sophie2.extra.func.annotations.AnnotationsModule.defineExtensions(AnnotationsModule.java:96)
      	at org.sophie2.core.modularity.SophieModule$3.run(SophieModule.java:66)
      	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
      	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
      	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
      	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
      	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
      	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
      	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
      	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
      Caused by: java.lang.ClassNotFoundException: org.sophie2.main.app.halos.page.element.PageElementMoveHaloButton
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:200)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
      	at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      	... 23 more
      Caused by: java.lang.ClassNotFoundException: org.sophie2.main.app.halos.page.element.PageElementMoveHaloButton
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:488)
      	at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:187)
      	... 27 more
      
      • That is caused because you moved the halo button up in the hierarchy, but didn't add it's module to the bundle configuration of the reader. But if you add it, you will make a huge mistake, because the frames in the reader will be moveble! This thing must be fixed for this task to pass!
    • In the reader now there is now extra palette... But the stickies are mostly for the reader and the preview.
    • In the preview mode the stickies are insertable. which is good, they are editable, which is also good, but they are not moveable and deletable, which is bad. The stickies are used mostly in preview modes and readers!
    • The unusable buttons in the extra palette must be disabled until they are useable.
  • Code related notes:
    • The point of having ONE method persist() is to have consistent logic for both modes - save and load. You should not use the value refs if you don`t override the getInnitial() method. This forces you to divide the save/load logic. Further more there is no point in using
      Ref<String> entityRef = new ValueRef<String>() {
      // nothing
      };
      

when it is obvious that you could simply use new ValueRef<String>().

  • You should move the
    String searchPath = file.getAbsolutePath();
    
    if (!File.separator.equals(Resource.LOCATION_SEPARATOR)) {
        int index = searchPath.lastIndexOf(File.separator);
        if (index != -1) {
           searchPath = searchPath.substring(0, index)
              + searchPath.substring(index, searchPath.length()).replace(File.separator, Resource.LOCATION_SEPARATOR);
        }
    }
    

in a untill class and not repeat the same code.

  • The many TODO and FIXME show that you know the problems but you still didn`t fix them.
  • What the hell is that -> storage.debugPrint(0); in your final code???
  • Refactor your StickyRemoveButton to send events to the StickyLogic, not to delete the stickies itself.

2p (150m)

comment:13 Changed 10 years ago by mitex

  • Status changed from s2c_design_ok to s3a_implementation_started

comment:14 Changed 10 years ago by mitex

  • Status changed from s3a_implementation_started to s3b_implementation_finished

comment:15 Changed 10 years ago by meddle

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 2 to 3
  • Imp._reviewers changed from meddle, meddle, mira to meddle, meddle, mira, meddle

After a while and with big refactoring from the integrators ready.

3p (110m)

comment:16 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.