Architecture notes:
Architectural dependencies are calculated at the leaf package level in the web app.
See here for more on architecure diagrams.
|
Snapshot report
Settings
| Classpath: |
See Appendix 1 |
| Granularity: |
"Detail" - includes inner classes, methods and fields
|
| Externals: |
"Hide" - referenced items are not included
|
| Excludes: |
"On" - User-defined items have been excluded from the model
|
| Transformations: | None |
Size
| Jars (and/or classpath directories): | 3 |
| Packages (that contain classes): | 60 |
| Classes (outer): | 542 |
| Classes (all): | 795 |
| Classes (external): | 0 |
| |
| NI (Number of bytecode Instructions): | 123K |
| LOC (Non Comment Non Blank Lines Of Code): | ~53K |
|
Flat Tangles
| Level | #Items | #Tangles | #Tangled items | Biggest | Degree |
| Leaf package | 60 | 4 | 42 | 24 | 45% |
| Jar | 3 | 0 | 0 | 0 | 0% |
| Outer class | 542 | 10 | 211 | 81 | 20% |
Architecture
| #Diagrams: | 1 |
| #Violations: | 46 |
| Violation frequency: | 12% |
Note: Violations and violation frequency are calculated at the leaf package level.
Excessive Structural Complexity (XS)
| Cumulative XS: | 76,198 |
| Average XS: | 62% |
XS breakout by metric (and scope)
| Metric (and scope) | Threshold | #Offenders | Offenses (%) | XS contribution |
| Tangled (design)
| 0 | 10
of
15 | 67% | 43% |
| Fat (design)
| 120 | 0
of
15 | 0% | 0% |
| Fat (leaf package)
| 120 | 1
of
60 | 2% | 46% |
| Fat (class)
| 120 | 12
of
795 | 2% | 9% |
| Fat (method)
| 15 | 19
of
6,862 | 0% | 3% |
| Total | | 100% |
Tangled (design):
Top 5 (of 10)
| Item | Value |
org.apache.qpid.server.security | 43% |
org.apache.qpid.jms | 38% |
org.apache.qpid.client | 37% |
org.apache.qpid.tools.messagestore | 32% |
org.apache.qpid.server.output | 20% |
Fat (design)
No items exceed the threshold for Fat at the design level.
Fat (leaf package):
1
| Item | Value |
org.apache.qpid.framing | 936 |
Fat (class):
Top 5 (of 12)
| Item | Value |
org.apache.qpid.client.AMQSession | 370 |
org.apache.qpid.server.filter.jms.selector.SelectorParser | 296 |
org.apache.qpid.framing.BasicContentHeaderProperties | 190 |
org.apache.qpid.client.AMQConnection | 151 |
org.apache.qpid.server.AMQChannel | 147 |
Fat (method):
Top 5 (of 19)
| Item | Value |
org.apache.qpid.server.filter.jms.selector.SelectorParserTokenManager.jjMoveNfa_0(int, int):int | 62 |
org.apache.qpid.server.filter.ComparisonExpression.compare(Comparable, Comparable):Boolean | 30 |
org.apache.qpid.tools.messagestore.commands.Show.createMessageData(List, List, boolean, boolean, boolean):List | 27 |
org.apache.qpid.util.CommandLineParser.parseCommandLine(String[]):Properties | 23 |
org.apache.qpid.server.queue.ConcurrentSelectorDeliveryManager.deliver(StoreContext, AMQShortString, AMQMessage, boolean):void | 23 |
Items with highest XS - Top 10
(of 42)
| Item | Tangled | Fat | Size | XS |
org.apache.qpid.framing | | 936 | 40,119 | 34,975 |
org.apache.qpid.client | 37% | 25 | 25,882 | 9,585 |
org.apache.qpid.server | 20% | 98 | 43,703 | 8,560 |
org.apache.qpid.framing | 20% | 2 | 40,156 | 8,031 |
org.apache.qpid.client.AMQSession | | 370 | 4,229 | 2,857 |
org.apache.qpid.server.security | 43% | 2 | 5,309 | 2,308 |
org.apache.qpid.tools.messagestore | 32% | 2 | 4,980 | 1,598 |
org.apache.qpid.server.filter.jms.selector.SelectorParser | | 296 | 2,559 | 1,521 |
org.apache.qpid | 1% | 43 | 122,813 | 1,062 |
org.apache.qpid.server.filter.jms.selector.SelectorParserTokenManager.jjMoveNfa_0(int, int):int | | 62 | 952 | 721 |
Appendix 1 - Project Classpath
I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\backport-util-concurrent-2.2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\com.ibm.icu-3.4.4.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-cli-1.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-codec-1.3.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-collections-3.2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-configuration-1.2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-lang-2.1.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\commons-logging-api-1.0.4.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\geronimo-jms_1.1_spec-1.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\log4j-1.2.12.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\mina-core-1.0.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\mina-filter-ssl-1.0.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\mina-java5-1.0.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\qpid-broker-1.0-incubating-M2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\qpid-client-1.0-incubating-M2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\qpid-common-1.0-incubating-M2.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\qpid-incubating.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\slf4j-api-1.4.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\slf4j-log4j12-1.4.0.jar I:\Sample Code\Opensrc\java\qpid\1.0-m2\lib\xalan-2.7.0.jar
|