Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-1378

Interfaces and a template class for handling instrumentation sessions

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Problem:

      • We need some concrete classes in the API to perform the instrumentation. At the moment we have an InstrumentationSession interface but no way to get an instance of this!
      • We need a way in the API to construct a MethodSignatureInfo (same problem as InstrumentationSession).

      In order to update content of a database and store new instrumentation session a number of internal classes must be used, e.g.:

      import com.atlassian.clover.context.ContextSet;
      import com.atlassian.clover.registry.Clover2Registry;
      import com.atlassian.clover.registry.FixedSourceRegion;
      import com.atlassian.clover.registry.entities.MethodSignature;
      import com.atlassian.clover.registry.entities.Modifier;
      import com.atlassian.clover.registry.entities.Modifiers;
      import com.atlassian.clover.registry.entities.Parameter;
      // ...
      registry = Clover2Registry.createOrLoad(dbFile, projectName);
      session = registry.startInstr(encoding)
      // ...
      session.enterMethod(new ContextSet(), new FixedSourceRegion(12, 1), 
        methodSignature, false, false, 5, LanguageConstruct.Builtin.METHOD);
      

      Fix:

      • move MethodSignature, Modifier, Modifiers, Parameter to API
      • create factory for FixedSourceRegion, ContextSet
      • enterMethod (and others) shall use ContextSet from API

            [CLOV-1378] Interfaces and a template class for handling instrumentation sessions

            Katherine Yabut made changes -
            Workflow Original: JAC Suggestion Workflow [ 3342200 ] New: JAC Suggestion Workflow 3 [ 3584722 ]
            Status Original: RESOLVED [ 5 ] New: Closed [ 6 ]
            Monique Khairuliana (Inactive) made changes -
            Epic Link Original: CLOV-1737 [ 431986 ]
            Michael Andreacchio made changes -
            Story Points Original: 5
            Workflow Original: New Clover Workflow [ 898012 ] New: JAC Suggestion Workflow [ 3342200 ]
            Issue Type Original: Improvement [ 4 ] New: Suggestion [ 10000 ]
            Status Original: Closed [ 6 ] New: Resolved [ 5 ]
            Michael Andreacchio made changes -
            Resolution New: Won't Fix [ 2 ]
            Status Original: Open [ 1 ] New: Closed [ 6 ]
            Marek Parfianowicz made changes -
            Assignee Original: Marek Parfianowicz [ mparfianowicz ]
            Marek Parfianowicz made changes -
            Rank New: Ranked higher
            Marek Parfianowicz made changes -
            Sprint Original: 5.0.0 Sprint 1 [ 2601 ]
            Marek Parfianowicz made changes -
            Fix Version/s New: 4.2.0 [ 56395 ]
            Fix Version/s Original: 5.0.0 [ 37518 ]
            Grzegorz Lewandowski made changes -
            Rank New: Ranked higher
            Grzegorz Lewandowski made changes -
            Sprint Original: 5.0.0 Sprint 2 [ 2603 ] New: 5.0.0 Sprint 1 [ 2601 ]

              Unassigned Unassigned
              mparfianowicz Marek Parfianowicz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: