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): | 4 |
| Packages (that contain classes): | 106 |
| Classes (outer): | 1,695 |
| Classes (all): | 2,133 |
| Classes (external): | 0 |
| |
| NI (Number of bytecode Instructions): | 345K |
| LOC (Non Comment Non Blank Lines Of Code): | ~148K |
|
Flat Tangles
| Level | #Items | #Tangles | #Tangled items | Biggest | Degree |
| Leaf package | 106 | 3 | 60 | 56 | 53% |
| Jar | 4 | 0 | 0 | 0 | 0% |
| Outer class | 1,695 | 27 | 419 | 329 | 19% |
Architecture
| #Diagrams: | 2 |
| #Violations: | 179 |
| Violation frequency: | 12% |
Note: Violations and violation frequency are calculated at the leaf package level.
Excessive Structural Complexity (XS)
| Cumulative XS: | 275,271 |
| Average XS: | 80% |
XS breakout by metric (and scope)
| Metric (and scope) | Threshold | #Offenders | Offenses (%) | XS contribution |
| Tangled (design)
| 0 | 10
of
21 | 48% | 19% |
| Fat (design)
| 120 | 1
of
21 | 5% | 58% |
| Fat (leaf package)
| 120 | 7
of
106 | 7% | 17% |
| Fat (class)
| 120 | 18
of
2,133 | 1% | 4% |
| Fat (method)
| 15 | 38
of
17,334 | 0% | 1% |
| Total | | 100% |
Tangled (design):
Top 5 (of 10)
| Item | Value |
org.apache.activemq.broker.region | 40% |
org.apache.activemq.camel | 33% |
org.apache.activemq.broker | 18% |
org.apache.activemq.kaha.impl | 10% |
org.apache.activemq | 8% |
Fat (design):
1
| Item | Value |
org.apache.activemq | 224 |
Fat (leaf package):
Top 5 (of 7)
| Item | Value |
org.apache.activemq.command | 254 |
org.apache.activemq | 241 |
org.apache.activemq.openwire.v2 | 176 |
org.apache.activemq.openwire.v1 | 173 |
org.apache.activemq.openwire.v3 | 172 |
Fat (class):
Top 5 (of 18)
| Item | Value |
org.apache.activemq.broker.BrokerService | 350 |
org.apache.activemq.ActiveMQConnection | 322 |
org.apache.activemq.selector.SelectorParser | 296 |
org.apache.activemq.broker.TransportConnection | 230 |
org.apache.activemq.ActiveMQSession | 212 |
Fat (method):
Top 5 (of 38)
| Item | Value |
org.apache.activemq.selector.SelectorParserTokenManager.jjMoveNfa_0(int, int):int | 62 |
org.apache.activemq.command.ActiveMQStreamMessage.readObject():Object | 55 |
org.apache.activemq.openwire.tool.CSourcesGenerator.generateFile(PrintWriter):void | 55 |
org.apache.activemq.command.ActiveMQStreamMessage.readString():String | 51 |
org.apache.activemq.filter.ComparisonExpression.compare(Comparable, Comparable):Boolean | 30 |
Items with highest XS - Top 10
(of 73)
| Item | Tangled | Fat | Size | XS |
org.apache.activemq | 8% | 224 | 345,065 | 188,978 |
org.apache.activemq | | 241 | 34,652 | 17,397 |
org.apache.activemq.command | | 254 | 19,470 | 10,271 |
org.apache.activemq.broker | 18% | 19 | 52,542 | 9,581 |
org.apache.activemq.broker.region | 40% | 9 | 18,378 | 7,406 |
org.apache.activemq.broker | | 155 | 21,088 | 4,761 |
org.apache.activemq.openwire.v2 | | 176 | 12,860 | 4,091 |
org.apache.activemq.openwire.v3 | | 172 | 13,184 | 3,985 |
org.apache.activemq.openwire.v1 | | 173 | 12,471 | 3,820 |
org.apache.activemq.broker.region | | 146 | 11,888 | 2,117 |
Appendix 1 - Project Classpath
I:\Sample Code\Opensrc\java\activemq\5.0.0\activemq-all-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\bin\run.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\bin\wrapper.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activation-1.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activemq-console-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activemq-core-5.0.0-tests.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activemq-core-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activemq-jaas-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\activemq-web-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\camel-core-1.2.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\camel-jms-1.2.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\camel-spring-1.2.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\commons-logging-1.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\geronimo-j2ee-management_1.0_spec-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\geronimo-jms_1.1_spec-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\geronimo-jta_1.0.1B_spec-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\jaxb-api-2.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\jaxb-impl-2.0.3.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\activeio-core-3.1-20071206.010027-264-tests.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\activeio-core-3.1-SNAPSHOT.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\activemq-optional-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\activemq-xmpp-5.0.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\commons-beanutils-1.6.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\commons-collections-3.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\commons-dbcp-1.2.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\commons-httpclient-2.0.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\commons-pool-1.2.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\derby-10.1.3.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\geronimo-j2ee-connector_1.5_spec-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\geronimo-j2ee-jacc_1.0_spec-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\jetty-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\jetty-util-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\jmdns-1.0-RC2.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\log4j-1.2.14.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\servlet-api-2.5-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\spring-2.0.6.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\xbean-spring-3.2-SNAPSHOT.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\xmlpull-1.1.3.4d_b4_min.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\optional\xstream-1.1.2.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\stax-1.2.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\stax-api-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\ant-1.6.2.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\core-3.1.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jdom-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jetty-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jetty-util-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jetty-xbean-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jsp-2.1-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jsp-api-2.1-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\jstl-1.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\rome-0.8.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\servlet-api-2.5-6.1.4.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\sitemesh-2.2.1.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\slf4j-api-1.4.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\slf4j-jcl-1.4.0.jar I:\Sample Code\Opensrc\java\activemq\5.0.0\lib\web\standard-1.1.2.jar
|