Hi Patrick Got it, actually, I saw the dummy helper for validation purpose also ^^
The cause I ask it is that I am trying to to some injection under the TMF way implementation for a new TraceType I try to implementation a E4 based service that can do some additional PIPE like trace processing For example a power consume index could take frequency & load as input, output could be other pipes as input also To bridge / trigger the service to work, I bind it to the class extends TmfTrace To workaround it, I did a ModelAddon to force createExecutableExtension() in TmfTraceType like bellow @PostConstruct public void init(IEclipseContext context, IExtensionRegistry reg) { assert context != null; _context = context; /* * A hack to TMF, since inject must be before TMFTrace implementation * * The getInstance() call would trigger load extension points * * It is the point to force inject here * */ TraceTypeHelper tth = TmfTraceType.getInstance().getTraceType(Activator.TRACETYPE_ID); tmfTrace = tth.getTrace(); assert tmfTrace != null; ContextInjectionFactory.inject(tmfTrace, _context); ......... As you mentioned, it is for validation only. so I got null point on other callbacks like parseEvent() XDDDDDDDDDDDD Is there any way that can make the INJECT got chance to work in the class extends TmfTrace for a new trace type ? Or maybe I got misunderstand for the spirit of TMF framework = =!! Thank you again for the quick response. The TMF is very amazing ! Ran-How On Sat, Apr 5, 2014 at 2:08 AM, Patrick Tasse <patrick.ta...@gmail.com>wrote: > Hi Ran-How, > > The reason we can't use the ITmfTrace instance owned by the trace type > helper is that we need a different instance for each opened trace (they > have different resources, paths, indexers, etc.). > > The instance in the trace type helper is a dummy trace instance that is > only used for trace type validation. It's not sure that these instances > will remain in the future, if for example we implement a validator class > that is separate from the trace class. > > Patrick > > > On Fri, Apr 4, 2014 at 1:17 PM, Chen RanHow <ranhow.c...@gmail.com> wrote: > >> >> Hi TMF advances >> >> Thank you team for the powerful framework, I have a question bellow >> >> In TmfTraceElement.java >> >> I saw createExecutableExtension() in instantiateTrace() to get an >> instance from the extension points like bellow >> >> IConfigurationElement ce = >> sfTraceTypeAttributes.get(fTraceTypeId); >> >> ....... >> >> ITmfTrace trace = (ITmfTrace) >> ce.createExecutableExtension(TmfTraceType.TRACE_TYPE_ATTR); >> >> ...... >> >> return trace; >> >> I wonder why not just use TmfTraceType.getInstance() to do it ? >> >> Since the init() in TmfTraceType constructor >> call populateCategoriesAndTraceTypes() >> >> The instance of createExecutableExtension is created >> >> Could it be replaced with >> >> TraceTypeHelper tth = >> TmfTraceType.getInstance().getTraceType(fTraceTypeId); >> >> ITmfTrace trace = tth.getTrace(); >> >> return trace; >> >> Or I misunderstand it ? >> >> Please kindly to reply >> >> Ran-How >> >> >> _______________________________________________ >> linuxtools-dev mailing list >> linuxtools-dev@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/linuxtools-dev >> >> > > _______________________________________________ > linuxtools-dev mailing list > linuxtools-dev@eclipse.org > https://dev.eclipse.org/mailman/listinfo/linuxtools-dev > >
_______________________________________________ linuxtools-dev mailing list linuxtools-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/linuxtools-dev