[Clanker-developers] SF.net SVN: clanker: [9] trunk/jemos-clanker
Status: Alpha
Brought to you by:
mtedone
|
From: <mt...@us...> - 2007-03-21 23:28:38
|
Revision: 9
http://clanker.svn.sourceforge.net/clanker/?rev=9&view=rev
Author: mtedone
Date: 2007-03-21 16:28:36 -0700 (Wed, 21 Mar 2007)
Log Message:
-----------
Initial import.
Added Paths:
-----------
trunk/jemos-clanker/LICENSE.txt
trunk/jemos-clanker/README.txt
trunk/jemos-clanker/analysis-engine/
trunk/jemos-clanker/analysis-engine/LICENSE.txt
trunk/jemos-clanker/analysis-engine/maven.xml
trunk/jemos-clanker/analysis-engine/project.properties
trunk/jemos-clanker/analysis-engine/project.xml
trunk/jemos-clanker/analysis-engine/src/
trunk/jemos-clanker/analysis-engine/src/conf/
trunk/jemos-clanker/analysis-engine/src/conf/log4j.properties
trunk/jemos-clanker/analysis-engine/src/java/
trunk/jemos-clanker/analysis-engine/src/java/uk/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/AbstractComponent.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Annotation.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ClassComment.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Clazz.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ComponentManufactory.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/LocalVariable.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Method.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/MethodComment.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Package.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Param.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Variable.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/VariableComment.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Amplimet.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Component.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Configuration.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Controller.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Filter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Lyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/Thapter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/core/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/ComponentException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/ConfigurationException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/FilterException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/FormatterException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/GateException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/ProcessorException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/ThapterException.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/exceptions/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/AbstractFilter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/AnnotationFilter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/CommentFilter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/Crystal.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/FilterManufactory.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/NameFilter.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/filters/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/AmplimetImpl.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/ConfigurationImpl.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/ControllerImpl.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/ThapterImpl.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/impl/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/AbstractLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/AnnotationLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/ClassLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/CommentLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/LyrinxManufactory.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/MethodLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/ParamLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/VariableLyrinx.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/lyrinx/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/package-info.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/util/
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/util/Constants.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/util/PathUtils.java
trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/util/package-info.java
trunk/jemos-clanker/analysis-engine/src/test/
trunk/jemos-clanker/analysis-engine/src/test/uk/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/AbstractTestCase.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/ControllerConfigTest.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/PathUtilsTest.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/ThapterTest.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/ClassMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/ComplexClassAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/ComplexMethodAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/ComplexVariableAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/FilterClassMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/FilterMethodMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/FilterVariableMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/MethodMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/SimpleClassAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/SimpleConstructorAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/SimpleMethodAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/SimpleVariableAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/annotations/VariableMarkerAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/AnotherTestClass.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/ClankerMarkerIntf.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/DoubleTypeTestClass.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/GenericsTestClass.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/NoJavaDocsClass.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneClassAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneClassJavadoc.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneMethodAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneMethodJavadoc.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneVariableAnnotation.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/OneVariableJavadoc.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/TestClass.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/TestClassChild.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/TestForComplexTypes.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/classes/excludeme.txt
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/enumeration/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/enumeration/ClankerEnum.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/exceptions/
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/exceptions/AnotherDummyException.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/exceptions/DummyException.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/dummyclasses/package-info.java
trunk/jemos-clanker/analysis-engine/src/test/uk/co/jemos/clanker/test/package-info.java
trunk/jemos-clanker/analysis-engine/xdocs/
trunk/jemos-clanker/analysis-engine/xdocs/class_processor.xml
trunk/jemos-clanker/analysis-engine/xdocs/images/
trunk/jemos-clanker/analysis-engine/xdocs/images/classLyrinx_process.png
trunk/jemos-clanker/analysis-engine/xdocs/images/interfaces_overview.png
trunk/jemos-clanker/analysis-engine/xdocs/images/methodLyrinx_process.png
trunk/jemos-clanker/analysis-engine/xdocs/images/starting_analysis_process.png
trunk/jemos-clanker/analysis-engine/xdocs/images/thapter_applyFilters.png
trunk/jemos-clanker/analysis-engine/xdocs/images/thapter_fillTheAmplimet.png
trunk/jemos-clanker/analysis-engine/xdocs/images/thapter_takeOff.png
trunk/jemos-clanker/analysis-engine/xdocs/images/thapter_wakeTheAmplimet.png
trunk/jemos-clanker/analysis-engine/xdocs/images/tree_family_cd.png
trunk/jemos-clanker/analysis-engine/xdocs/images/variableLyrinx_process.png
trunk/jemos-clanker/analysis-engine/xdocs/index.xml
trunk/jemos-clanker/analysis-engine/xdocs/method_processor.xml
trunk/jemos-clanker/analysis-engine/xdocs/navigation.xml
trunk/jemos-clanker/analysis-engine/xdocs/test.txt
trunk/jemos-clanker/analysis-engine/xdocs/variable_processor.xml
trunk/jemos-clanker/apache-licence.txt
trunk/jemos-clanker/build.properties
trunk/jemos-clanker/clanker.properties
trunk/jemos-clanker/docs/
trunk/jemos-clanker/docs/eap/
trunk/jemos-clanker/docs/eap/Jemos-Clanker.EAP
trunk/jemos-clanker/dom4j-licence.txt
trunk/jemos-clanker/jelly-config.xml
trunk/jemos-clanker/jrl-license.txt
trunk/jemos-clanker/maven.xml
trunk/jemos-clanker/project.properties
trunk/jemos-clanker/project.xml
trunk/jemos-clanker/result-engine/
trunk/jemos-clanker/result-engine/LICENSE.txt
trunk/jemos-clanker/result-engine/maven.xml
trunk/jemos-clanker/result-engine/project.properties
trunk/jemos-clanker/result-engine/project.xml
trunk/jemos-clanker/result-engine/src/
trunk/jemos-clanker/result-engine/src/conf/
trunk/jemos-clanker/result-engine/src/conf/log4j.properties
trunk/jemos-clanker/result-engine/src/java/
trunk/jemos-clanker/result-engine/src/java/uk/
trunk/jemos-clanker/result-engine/src/java/uk/co/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/formatters/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/formatters/InterfacesTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/helper/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/helper/StringFormatter.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/libs/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/libs/ClankerJellyLibrary.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/AnnotationTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/FileSetTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/FilterTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/HeartBitTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/IncludeTag.java
trunk/jemos-clanker/result-engine/src/java/uk/co/jemos/clanker/jelly/tags/JavadocTag.java
trunk/jemos-clanker/result-engine/src/test/
trunk/jemos-clanker/result-engine/src/test/uk/
trunk/jemos-clanker/result-engine/src/test/uk/co/
trunk/jemos-clanker/result-engine/src/test/uk/co/jemos/
trunk/jemos-clanker/result-engine/src/test/uk/co/jemos/clanker/
trunk/jemos-clanker/result-engine/src/test/uk/co/jemos/clanker/jelly/
trunk/jemos-clanker/result-engine/src/test/uk/co/jemos/clanker/jelly/tests/
trunk/jemos-clanker/result-engine/src/test/uk/co/jemos/clanker/jelly/tests/JellyTagsTest.java
trunk/jemos-clanker/result-engine/xdocs/
trunk/jemos-clanker/result-engine/xdocs/images/
trunk/jemos-clanker/result-engine/xdocs/index.xml
trunk/jemos-clanker/result-engine/xdocs/navigation.xml
trunk/jemos-clanker/xdocs/
trunk/jemos-clanker/xdocs/aed/
trunk/jemos-clanker/xdocs/aed/ctr/
trunk/jemos-clanker/xdocs/aed/ela/
trunk/jemos-clanker/xdocs/aed/inc/
trunk/jemos-clanker/xdocs/aed/inc/fr/
trunk/jemos-clanker/xdocs/aed/inc/nfr/
trunk/jemos-clanker/xdocs/aed/tra/
trunk/jemos-clanker/xdocs/downloads.xml
trunk/jemos-clanker/xdocs/getting_started.xml
trunk/jemos-clanker/xdocs/images/
trunk/jemos-clanker/xdocs/images/ae/
trunk/jemos-clanker/xdocs/images/ae/interfaces_overview.png
trunk/jemos-clanker/xdocs/images/ae/starting_analysis_process.png
trunk/jemos-clanker/xdocs/images/folder-structure/
trunk/jemos-clanker/xdocs/images/folder-structure/analysis-engine-structure.png
trunk/jemos-clanker/xdocs/images/folder-structure/result-engine-structure.png
trunk/jemos-clanker/xdocs/images/folder-structure/top-root-structure.png
trunk/jemos-clanker/xdocs/images/re/
trunk/jemos-clanker/xdocs/images/re/jelly-tags.png
trunk/jemos-clanker/xdocs/index.xml
trunk/jemos-clanker/xdocs/known-limitations.xml
trunk/jemos-clanker/xdocs/licenses/
trunk/jemos-clanker/xdocs/licenses/LICENSE.txt
trunk/jemos-clanker/xdocs/licenses/apache-licence.txt
trunk/jemos-clanker/xdocs/licenses/dom4j-licence.txt
trunk/jemos-clanker/xdocs/licenses/jrl-license.txt
trunk/jemos-clanker/xdocs/navigation.xml
Added: trunk/jemos-clanker/LICENSE.txt
===================================================================
--- trunk/jemos-clanker/LICENSE.txt (rev 0)
+++ trunk/jemos-clanker/LICENSE.txt 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,27 @@
+Copyright (c) 2006, Marco Tedone (Jemos - www.jemos.co.uk)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Added: trunk/jemos-clanker/README.txt
===================================================================
--- trunk/jemos-clanker/README.txt (rev 0)
+++ trunk/jemos-clanker/README.txt 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,55 @@
+#
+# * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+# * All rights reserved.
+# *
+# * Redistribution and use in source and binary forms, with or without modification,
+# * are permitted provided that the following conditions are met:
+# *
+# * Redistributions of source code must retain the above copyright notice,
+# * this list of conditions and the following disclaimer.
+# *
+# * Redistributions in binary form must reproduce the above copyright notice,
+# * this list of conditions and the following disclaimer in the documentation
+# * and/or other materials provided with the distribution.
+# *
+# * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+# * be used to endorse or promote products derived from this software without
+# * specific prior written permission.
+# *
+# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+# * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# *
+
+
+1. Create a JEMOS_CLANKER_HOME System environment variable, pointing to the root of this folder.
+
+2. This distribution should already have the following file: %JEMOS_CLANKER_HOME%/clanker.properties
+ and this file should contain a property called 'jemos-clanker.src.dir' pointing to
+ %JEMOS_CLANKER_HOME%/src/test/uk/co/jemos/clanker/test/dummyclasses/classes. This is the path
+ that unit tests will use to analyze Java source files to check the system's sanity
+
+3. If you don't want to see the full output of the unit tests, just set the level for
+ uk.co.jemos to INFO in the log4j.properties under ${maven.conf.dir}
+
+
+4. //-------------------- Dependencies
+ 4.1 You will have to
+
+
+4. Main functionalities:
+ 4.1 Java source analysis
+ 4.2 Externalization of Java source logical info into JavaBeans
+ 4.3 Javadoc Filters at a Class, Method and Variable level
+ 4.4 Annotation Filters at a Class, Method and Variable level
+ 4.5 List of implemented interfaces
+ 4.6 List of thrown Exceptions
+ 4.7 Accessibility modifiers at class, method and variable level
+ 4.8 TODO To write an engine to analyze the amplimet and to write somewhere
Added: trunk/jemos-clanker/analysis-engine/LICENSE.txt
===================================================================
--- trunk/jemos-clanker/analysis-engine/LICENSE.txt (rev 0)
+++ trunk/jemos-clanker/analysis-engine/LICENSE.txt 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,27 @@
+Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Added: trunk/jemos-clanker/analysis-engine/maven.xml
===================================================================
--- trunk/jemos-clanker/analysis-engine/maven.xml (rev 0)
+++ trunk/jemos-clanker/analysis-engine/maven.xml 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,41 @@
+<!--
+#
+# * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+# * All rights reserved.
+# *
+# * Redistribution and use in source and binary forms, with or without modification,
+# * are permitted provided that the following conditions are met:
+# *
+# * Redistributions of source code must retain the above copyright notice,
+# * this list of conditions and the following disclaimer.
+# *
+# * Redistributions in binary form must reproduce the above copyright notice,
+# * this list of conditions and the following disclaimer in the documentation
+# * and/or other materials provided with the distribution.
+# *
+# * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+# * be used to endorse or promote products derived from this software without
+# * specific prior written permission.
+# *
+# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+# * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# *
+# * @author Marco Tedone <mt...@je...>
+-->
+
+
+<project
+ xmlns:j="jelly:core"
+ xmlns:u="jelly:util"
+ default="jar:install"
+ >
+
+</project>
\ No newline at end of file
Added: trunk/jemos-clanker/analysis-engine/project.properties
===================================================================
--- trunk/jemos-clanker/analysis-engine/project.properties (rev 0)
+++ trunk/jemos-clanker/analysis-engine/project.properties 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,31 @@
+#
+# * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+# * All rights reserved.
+# *
+# * Redistribution and use in source and binary forms, with or without modification,
+# * are permitted provided that the following conditions are met:
+# *
+# * Redistributions of source code must retain the above copyright notice,
+# * this list of conditions and the following disclaimer.
+# *
+# * Redistributions in binary form must reproduce the above copyright notice,
+# * this list of conditions and the following disclaimer in the documentation
+# * and/or other materials provided with the distribution.
+# *
+# * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+# * be used to endorse or promote products derived from this software without
+# * specific prior written permission.
+# *
+# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+# * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# *
+
+maven.multiproject.type=jar
\ No newline at end of file
Added: trunk/jemos-clanker/analysis-engine/project.xml
===================================================================
--- trunk/jemos-clanker/analysis-engine/project.xml (rev 0)
+++ trunk/jemos-clanker/analysis-engine/project.xml 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+#
+# * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+# * All rights reserved.
+# *
+# * Redistribution and use in source and binary forms, with or without modification,
+# * are permitted provided that the following conditions are met:
+# *
+# * Redistributions of source code must retain the above copyright notice,
+# * this list of conditions and the following disclaimer.
+# *
+# * Redistributions in binary form must reproduce the above copyright notice,
+# * this list of conditions and the following disclaimer in the documentation
+# * and/or other materials provided with the distribution.
+# *
+# * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+# * be used to endorse or promote products derived from this software without
+# * specific prior written permission.
+# *
+# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+# * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# *
+-->
+<project>
+ <!-- the version of maven's project object model -->
+ <extend>../project.xml</extend>
+ <pomVersion>3</pomVersion>
+ <!-- a unique name for this project -->
+ <artifactId>jemos-clanker-ae</artifactId>
+ <groupId>jemos-clanker</groupId>
+ <developers>
+ <developer>
+ <name>Marco Tedone</name>
+ <id>1</id>
+ <email>mt...@je...</email>
+ <organization>Jemos</organization>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.8</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>tools</groupId>
+ <artifactId>tools</artifactId>
+ <version>5.0</version>
+ <type>jar</type>
+ <url>http://www.jemos.co.uk/maven/repository</url>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.0</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <reports>
+ <report>maven-javadoc-plugin</report>
+ <report>maven-jdepend-plugin</report>
+ <report>maven-junit-report-plugin</report>
+ <report>maven-license-plugin</report>
+ </reports>
+ <id>jemos-clanker</id>
+ <!-- a short but descriptive name for the project -->
+ <name>Jemos Clanker - Java Source Analysis Engine</name>
+ <!-- The version of the project under development, e.g.
+ 1.1, 1.2, 2.0-SNAPSHOT -->
+ <!-- details about the organization that 'owns' the project -->
+ <organization>
+ <name>Jemos</name>
+ <url>http://www.jemos.co.uk</url>
+ </organization>
+ <!-- the year the project started -->
+ <description>A collection of example projects showing how to use maven in different situations</description>
+ <!-- a short description of what the project does -->
+ <!-- the project home page -->
+ <!-- the version control repository and http url for online access
+ the connection element has the form:
+ scm:<system>:<system specific connection string> -->
+ <repository />
+ <!-- any mailing lists for the project -->
+ <!-- who the developers are for the project -->
+ <!-- jar files the project is dependent on -->
+ <!-- build information for the project -->
+ <build>
+ <sourceDirectory>src/java</sourceDirectory>
+ <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/NaughtyTest.java</exclude>
+ </excludes>
+ <resources>
+ <resource>
+ <directory>src/conf</directory>
+ <includes>
+ <include>*.properties</include>
+ </includes>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </unitTest>
+ <resources>
+ <resource>
+ <directory>src/conf</directory>
+ <includes>
+ <include>*.properties</include>
+ </includes>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </build>
+</project>
+
Added: trunk/jemos-clanker/analysis-engine/src/conf/log4j.properties
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/conf/log4j.properties (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/conf/log4j.properties 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,51 @@
+#
+# * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+# * All rights reserved.
+# *
+# * Redistribution and use in source and binary forms, with or without modification,
+# * are permitted provided that the following conditions are met:
+# *
+# * Redistributions of source code must retain the above copyright notice,
+# * this list of conditions and the following disclaimer.
+# *
+# * Redistributions in binary form must reproduce the above copyright notice,
+# * this list of conditions and the following disclaimer in the documentation
+# * and/or other materials provided with the distribution.
+# *
+# * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+# * be used to endorse or promote products derived from this software without
+# * specific prior written permission.
+# *
+# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+# * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# *
+
+
+
+
+#log4j.rootLogger = DEBUG, A1, A2
+# Log only message from org.jemos package and its'subpackages
+log4j.logger.uk.co.jemos = INFO, A1
+log4j.logger.org.jemos = DEBUG, A1
+
+# Log only message from org.apache(party libraries) package and its'subpackages
+log4j.logger.org.apache = ERROR, A1
+
+# A1 is set to be ConsoleAppender sending its output to System.out
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 use PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d %p [%c] - %m%n
+
+
+
+
Added: trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/AbstractComponent.java
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/AbstractComponent.java (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/AbstractComponent.java 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,41 @@
+package uk.co.jemos.clanker.components;
+
+import uk.co.jemos.clanker.core.Component;
+
+/**
+ * Identifies an abstract component
+ *
+ * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @author Marco Tedone <mt...@je...>
+ */
+public abstract class AbstractComponent implements Component {
+
+
+}
Added: trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Annotation.java
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Annotation.java (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Annotation.java 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,212 @@
+package uk.co.jemos.clanker.components;
+
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_ANNOTATION;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+
+import uk.co.jemos.clanker.core.Component;
+import uk.co.jemos.clanker.exceptions.ComponentException;
+
+/**
+ * Identifies an Annotation
+ *
+ * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @author Marco Tedone <mt...@je...>
+ */
+public class Annotation extends AbstractComponent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5803852576949958880L;
+
+ public static final int TYPE_INT = 0;
+ public static final int TYPE_STRING = 1;
+ public static final int TYPE_ARRAY = 2;
+ public static final int TYPE_SELECT = 3;
+
+ /** The application logger */
+ private static final Logger LOG = Logger.getLogger(Annotation.class);
+
+ /** The annotation name (i.e. "@marker") */
+ private String name;
+
+ /** The fully qualified name for this annotation */
+ private String qualifiedName;
+
+ /** The scope of this annotation (package, class, method, etc.) */
+ private int scope;
+
+ /** A collection of name/value pairs for this annotation's elements */
+ private Map<String, Object> values = new LinkedHashMap<String, Object>();
+
+ /** The type of the values set in the 'values' Map */
+ private Map<String, Integer> valueTypes = new HashMap<String, Integer>();
+
+ /** The parent of this annotation (package, class, method, variable, local variable) */
+ private int parentId;
+
+ public Annotation(int parentId) {
+ setParentId(parentId);
+ }
+
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return Returns the qualifiedName.
+ */
+ public String getQualifiedName() {
+ return qualifiedName;
+ }
+
+ /**
+ * @param qualifiedName The qualifiedName to set.
+ */
+ public void setQualifiedName(String qualifiedName) {
+ this.qualifiedName = qualifiedName;
+ }
+
+ /**
+ * @return Returns the scope.
+ */
+ public int getScope() {
+ return scope;
+ }
+
+ /**
+ * @param scope The scope to set.
+ */
+ public void setScope(int scope) {
+ this.scope = scope;
+ }
+
+ /**
+ * @return Returns the values.
+ */
+ public Map<String, Object> getValues() {
+ return values;
+ }
+
+ /**
+ * Adds the name/value pair of an annotation element
+ * @param key The key
+ * @param value The value
+ */
+ public void addAnnotationValue(String key, Object value, int type) {
+ if (type != TYPE_ARRAY &&
+ type != TYPE_INT &&
+ type != TYPE_SELECT &&
+ type != TYPE_STRING) {
+ LOG.error("Type: " + type + " not supported. Annotation value won't be entered");
+ }
+ values.put(key, value);
+ valueTypes.put(key, type);
+ }
+
+ /**
+ * Removes one of the elements for this annotation
+ * @param key
+ */
+ public void removeAnnotationValue(Object key) {
+ values.remove(key);
+ }
+
+ /**
+ * Returns the parent of this component
+ */
+ public int getParentId() {
+ return parentId;
+ }
+
+ /**
+ * Sets the parent for this component
+ */
+ public void setParentId(int parentId) {
+ this.parentId = parentId;
+ }
+
+
+ public int getType() {
+ return COMPONENT_TYPE_ANNOTATION;
+ }
+
+
+ /**
+ * Annotation haven't got children (they cannot be extended)
+ */
+ public List<Component> getChildren(int type){
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ /**
+ * Nothing to do here. An Annotation hasn't got children
+ * <p>
+ * Rather than stopping the process by throwing an exception,
+ * I preferred here simply to print a warning and do nothing.
+ * </p>
+ */
+ public void addComponent(Component component) throws ComponentException {
+ StringBuffer buff = new StringBuffer();
+ buff.append("Someone tried to add a child to an Annotation")
+ .append(" component. This component doesn't have children");
+ LOG.warn(buff.toString());
+ }
+
+
+ public Map<String, Integer> getValueTypes() {
+ return valueTypes;
+ }
+
+
+ public void setValueTypes(Map<String, Integer> valueTypes) {
+ this.valueTypes = valueTypes;
+ }
+
+}
Added: trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ClassComment.java
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ClassComment.java (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ClassComment.java 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,154 @@
+package uk.co.jemos.clanker.components;
+
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_CLASS_COMMENT;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+
+import uk.co.jemos.clanker.core.Component;
+import uk.co.jemos.clanker.exceptions.ComponentException;
+
+/**
+ * Identifies a Javadoc comment at class level
+ *
+ * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @author Marco Tedone <mt...@je...>
+ */
+public class ClassComment extends AbstractComponent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 3736304824147599503L;
+
+ /** The application logger */
+ private static final Logger LOG = Logger.getLogger(ClassComment.class);
+
+ /**
+ * The collection of class tags with their values from the Javadoc.
+ * <p>
+ * A Javadoc comment is a collection of: <br/>
+ * <li>Javadoc tag</li>
+ * <li>One or more attributes</li>
+ * <li>A value for each attribute</li>
+ * </p>
+ */
+ private Map<String, Map> tags = new HashMap<String, Map>();
+
+ /** The class name associated with this Javadoc */
+ private String className;
+
+ /** The parent of this comment (a class or a method) */
+ private int parentId;
+
+ public ClassComment(int parentId) {
+ setParentId(parentId);
+ }
+
+ /**
+ * Returns the type of this component
+ */
+ public int getType() {
+ return COMPONENT_TYPE_CLASS_COMMENT;
+ }
+
+ /**
+ * @return Returns the tags.
+ */
+ public Map<String, Map> getTags() {
+ return tags;
+ }
+
+ /**
+ * @param tags The tags to set.
+ */
+ public void setTags(Map<String, Map> tags) {
+ this.tags = tags;
+ }
+
+ /**
+ * Adds a comment tag to this comment
+ * @param key The tag (i.e. "@todo")
+ * @param value The value of the tag, if any
+ */
+ public void addTag(String key, Map value) {
+ tags.put(key, value);
+ }
+
+ /**
+ * Removes a tag from the list
+ * @param key The tag to be removed
+ */
+ public void removeTag(String key) {
+ tags.remove(key);
+ }
+
+ /**
+ * Comments haven't got children
+ */
+ public List<Component> getChildren(int type) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Nothing to do here. A comment hasn't got children
+ * <p>
+ * Rather than stopping the process by throwing an exception,
+ * I preferred here simply to print a warning and do nothing.
+ * </p>
+ */
+ public void addComponent(Component component) throws ComponentException {
+ StringBuffer buff = new StringBuffer();
+ buff.append("Someone tried to add a child to a Comment")
+ .append(" component. This component doesn't have children");
+ LOG.warn(buff.toString());
+ }
+
+ public int getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(int parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+}
Added: trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Clazz.java
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Clazz.java (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/Clazz.java 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,278 @@
+package uk.co.jemos.clanker.components;
+
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_CLASS;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_METHOD;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_VARIABLE;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import uk.co.jemos.clanker.core.Component;
+import uk.co.jemos.clanker.exceptions.ComponentException;
+
+/**
+ * Identifies a Class object
+ *
+ * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @author Marco Tedone <mt...@je...>
+ */
+public class Clazz extends AbstractComponent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4381424961465939917L;
+
+ /** The modifiers for this class */
+ private List<String> modifiers = new ArrayList<String>();
+
+ /** The name of this class */
+ private String name;
+
+ private String fullName;
+
+ /** The annotations for this class */
+ private List<Annotation> annotations = new LinkedList<Annotation>();
+
+ /** The comments for this class */
+ private ClassComment comments;
+
+ /** The parent of this class (a Package object or an outer class) */
+ private int parentId;
+
+ /** The method children of this class */
+ private List<Component> methodChildren = new ArrayList<Component>();
+
+ /** The variables children of this class */
+ private List<Component> variableChildren = new ArrayList<Component>();
+
+ /** The inner classes children of this class */
+ private List<Component> innerChildren = new ArrayList<Component>();
+
+ /** The list of implemented interfaces */
+ private List<String> implementedIntf = new ArrayList<String>();
+
+ public Clazz(int parentId) {
+ setParent(parentId);
+ }
+
+ /**
+ * @return Returns the annotations.
+ */
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
+ /**
+ * @param annotations The annotations to set.
+ */
+ public void setAnnotations(List<Annotation> annotations) {
+ this.annotations = annotations;
+ }
+
+ /**
+ * @return Returns the comments.
+ */
+ public ClassComment getComments() {
+ return comments;
+ }
+
+ /**
+ * @param comments The comments to set.
+ */
+ public void setComments(ClassComment comments) {
+ this.comments = comments;
+ }
+
+ /**
+ * @return Returns the name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Adds an annotation to the list
+ * @param annotation
+ */
+ public void addAnnotation(Annotation annotation) {
+ annotations.add(annotation);
+ }
+
+ /**
+ * Removes the annotation from the list
+ * @param annotation
+ */
+ public void removeAnnotation(Annotation annotation) {
+ annotations.remove(annotation);
+ }
+
+ /**
+ * Adds a comment to the list
+ * @param comment
+ */
+ public void addJavadoc(String key, Map values) {
+ comments.addTag(key, values);
+ }
+
+ /**
+ * Sets the parent for this class
+ */
+ public void setParent(int parentId) {
+ this.parentId = parentId;
+ }
+
+ public Component getParent() {
+ return null;
+ }
+
+ /** Returns the type of this class */
+ public int getType() {
+ return COMPONENT_TYPE_CLASS;
+ }
+
+ /**
+ * Returns the children of this Clazz identified by the type
+ * <p>
+ * A Clazz component supports: <br/>
+ * <ul>
+ * <li>Instance and Class variables</li>
+ * <li>Methods</li>
+ * <li>Inner classes</li>
+ * </ul>
+ * </p>
+ */
+ public List<Component> getChildren(int type) {
+ switch (type) {
+ case COMPONENT_TYPE_CLASS:
+ return this.innerChildren;
+ case COMPONENT_TYPE_METHOD:
+ return this.methodChildren;
+ case COMPONENT_TYPE_VARIABLE:
+ return this.variableChildren;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Adds a child to this Clazz.
+ * <p>
+ * A Clazz can only have the following types as children: <br/>
+ * <ul>
+ * <li>Another Clazz (Inner classes)</li>
+ * <li>A Method</li>
+ * <li>An instance or class variable</li>
+ * </ul>
+ * </p>
+ */
+ public void addComponent(Component component) throws ComponentException {
+ if (component.getType() != COMPONENT_TYPE_CLASS &&
+ component.getType() != COMPONENT_TYPE_METHOD &&
+ component.getType() != COMPONENT_TYPE_VARIABLE) {
+ StringBuffer buff = new StringBuffer();
+ buff.append("Someone tried to add a child which is")
+ .append(" not of the right type. This component")
+ .append(" accepts only Clazz, Method and Variable types");
+ throw new ComponentException(buff.toString());
+ }
+ if (component.getType() == COMPONENT_TYPE_CLASS) {
+ innerChildren.add(component);
+ } else if (component.getType() == COMPONENT_TYPE_METHOD) {
+ methodChildren.add(component);
+ } else variableChildren.add(component);
+ }
+
+ public int getParentId() {
+ return parentId;
+ }
+
+ public void setParentId(int parentId) {
+ this.parentId = parentId;
+ }
+
+ public String getFullName() {
+ return fullName;
+ }
+
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
+
+ public List<Component> getInnerChildren() {
+ return innerChildren;
+ }
+
+ public void setInnerChildren(List<Component> innerChildren) {
+ this.innerChildren = innerChildren;
+ }
+
+ public List<Component> getMethods() {
+ return methodChildren;
+ }
+
+ public void setMethodChildren(List<Component> methodChildren) {
+ this.methodChildren = methodChildren;
+ }
+
+ public List<Component> getVariables() {
+ return variableChildren;
+ }
+
+ public void setVariableChildren(List<Component> variableChildren) {
+ this.variableChildren = variableChildren;
+ }
+
+ public List<String> getModifiers() {
+ return modifiers;
+ }
+
+ public void setModifiers(List<String> modifiers) {
+ this.modifiers = modifiers;
+ }
+
+ public List<String> getImplementedIntf() {
+ return implementedIntf;
+ }
+
+ public void setImplementedIntf(List<String> implementedIntf) {
+ this.implementedIntf = implementedIntf;
+ }
+
+}
Added: trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ComponentManufactory.java
===================================================================
--- trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ComponentManufactory.java (rev 0)
+++ trunk/jemos-clanker/analysis-engine/src/java/uk/co/jemos/clanker/components/ComponentManufactory.java 2007-03-21 23:28:36 UTC (rev 9)
@@ -0,0 +1,121 @@
+package uk.co.jemos.clanker.components;
+
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_ANNOTATION;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_CLASS;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_CLASS_COMMENT;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_LOCAL_VARIABLE;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_METHOD;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_METHOD_COMMENT;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_PACKAGE;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_PARAM;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_VARIABLE;
+import static uk.co.jemos.clanker.util.Constants.COMPONENT_TYPE_VARIABLE_COMMENT;
+import uk.co.jemos.clanker.core.Component;
+
+/**
+ * Factory to create <code>Components</code>
+ *
+ * Copyright (c) 2007, Marco Tedone (Jemos - www.jemos.co.uk)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of Jemos/Marco Tedone nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY...
[truncated message content] |