Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleIntrospection of a contribution

In general the result of that introspection would be invariant so it can be cached and replicated in many places. Introspection will be intensive and so we should do it as little as possible and caching the results is good. Of course, we'd need invalidation too.

The caching is about storing the introspection results for 
"production" artifacts that are basically versioned and immutable. 
This  This is similar in concept to the way Maven caches artifacts locally 
and locally and never needs to go back to an online repo once they have been 
downloadedbeen downloaded. Given some introspections are likely to be expensive 
(e.g. scanning an EAR to look for EJBs and then processsing the class 
files class files for annotations) it would be good to avoid redoing that when 
its when its not necessary.

3. The ContributionProcessor introspects the contribution to create a list of artifacts of interest for SCA. Each artifact is classified by ContentTypes.
4. The artifacts are parsed by the content type.  we provide parsers for SCDL (StAXElementLoader) and we can reuse existing parsers for XSD and WSDL (XmlSchema, wsdl4j, woden). So the WSDL introspector would parse the document using, say, wsdl4j and then store the interesting things that it finds.

...