libjboss-aop-java-2.0.1.GA.orig/ 0000755 0001750 0001750 00000000000 11145122072 016173 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/jbossorg-eula.txt 0000644 0001750 0001750 00000020021 11145122070 021501 0 ustar twerner twerner LICENSE AGREEMENT
JBOSS(r)
This License Agreement governs the use of the Software Packages and any updates to the Software
Packages, regardless of the delivery mechanism. Each Software Package is a collective work
under U.S. Copyright Law. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to
the user ("Client") a license to the applicable collective work(s) pursuant to the
GNU Lesser General Public License v. 2.1 except for the following Software Packages:
(a) JBoss Portal Forums and JBoss Transactions JTS, each of which is licensed pursuant to the
GNU General Public License v.2;
(b) JBoss Rules, which is licensed pursuant to the Apache License v.2.0;
(c) an optional download for JBoss Cache for the Berkeley DB for Java database, which is licensed under the
(open source) Sleepycat License (if Client does not wish to use the open source version of this database,
it may purchase a license from Sleepycat Software);
and (d) the BPEL extension for JBoss jBPM, which is licensed under the Common Public License v.1,
and, pursuant to the OASIS BPEL4WS standard, requires parties wishing to redistribute to enter various
royalty-free patent licenses.
Each of the foregoing licenses is available at http://www.opensource.org/licenses/index.php.
1. The Software. "Software Packages" refer to the various software modules that are created and made available
for distribution by the JBoss.org open source community at http://www.jboss.org. Each of the Software Packages
may be comprised of hundreds of software components. The end user license agreement for each component is located in
the component's source code. With the exception of certain image files identified in Section 2 below,
the license terms for the components permit Client to copy, modify, and redistribute the component,
in both source code and binary code forms. This agreement does not limit Client's rights under,
or grant Client rights that supersede, the license terms of any particular component.
2. Intellectual Property Rights. The Software Packages are owned by Red Hat and others and are protected under copyright
and other laws. Title to the Software Packages and any component, or to any copy, modification, or merged portion shall
remain with the aforementioned, subject to the applicable license. The "JBoss" trademark, "Red Hat" trademark, the
individual Software Package trademarks, and the "Shadowman" logo are registered trademarks of Red Hat and its affiliates
in the U.S. and other countries. This agreement permits Client to distribute unmodified copies of the Software Packages
using the Red Hat trademarks that Red Hat has inserted in the Software Packages on the condition that Client follows Red Hat's
trademark guidelines for those trademarks located at http://www.redhat.com/about/corporate/trademark/. Client must abide by
these trademark guidelines when distributing the Software Packages, regardless of whether the Software Packages have been modified.
If Client modifies the Software Packages, then Client must replace all Red Hat trademarks and logos identified at
http://www.jboss.com/company/logos, unless a separate agreement with Red Hat is executed or other permission granted.
Merely deleting the files containing the Red Hat trademarks may corrupt the Software Packages.
3. Limited Warranty. Except as specifically stated in this Paragraph 3 or a license for a particular
component, to the maximum extent permitted under applicable law, the Software Packages and the
components are provided and licensed "as is" without warranty of any kind, expressed or implied,
including the implied warranties of merchantability, non-infringement or fitness for a particular purpose.
Red Hat warrants that the media on which Software Packages may be furnished will be free from defects in
materials and manufacture under normal use for a period of 30 days from the date of delivery to Client.
Red Hat does not warrant that the functions contained in the Software Packages will meet Client's requirements
or that the operation of the Software Packages will be entirely error free or appear precisely as described
in the accompanying documentation. This warranty extends only to the party that purchases the Services
pertaining to the Software Packages from Red Hat or a Red Hat authorized distributor.
4. Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, the remedies
described below are accepted by Client as its only remedies. Red Hat's entire liability, and Client's
exclusive remedies, shall be: If the Software media is defective, Client may return it within 30 days of
delivery along with a copy of Client's payment receipt and Red Hat, at its option, will replace it or
refund the money paid by Client for the Software. To the maximum extent permitted by applicable law,
Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential
damages, including lost profits or lost savings arising out of the use or inability to use the Software,
even if Red Hat or such dealer has been advised of the possibility of such damages. In no event shall
Red Hat's liability under this agreement exceed the amount that Client paid to Red Hat under this
Agreement during the twelve months preceding the action.
5. Export Control. As required by U.S. law, Client represents and warrants that it:
(a) understands that the Software Packages are subject to export controls under the
U.S. Commerce Department's Export Administration Regulations ("EAR");
(b) is not located in a prohibited destination country under the EAR or U.S. sanctions regulations
(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria);
(c) will not export, re-export, or transfer the Software Packages to any prohibited destination, entity,
or individual without the necessary export license(s) or authorizations(s) from the U.S. Government;
(d) will not use or transfer the Software Packages for use in any sensitive nuclear, chemical or
biological weapons, or missile technology end-uses unless authorized by the U.S. Government by
regulation or specific license;
(e) understands and agrees that if it is in the United States and exports or transfers the Software
Packages to eligible end users, it will, as required by EAR Section 740.17(e), submit semi-annual
reports to the Commerce Department's Bureau of Industry & Security (BIS), which include the name and
address (including country) of each transferee;
and (f) understands that countries other than the United States may restrict the import, use, or
export of encryption products and that it shall be solely responsible for compliance with any such
import, use, or export restrictions.
6. Third Party Programs. Red Hat may distribute third party software programs with the Software Packages
that are not part of the Software Packages and which Client must install separately. These third party
programs are subject to their own license terms. The license terms either accompany the programs or
can be viewed at http://www.redhat.com/licenses/. If Client does not agree to abide by the applicable
license terms for such programs, then Client may not install them. If Client wishes to install the programs
on more than one system or transfer the programs to another party, then Client must contact the licensor
of the programs.
7. General. If any provision of this agreement is held to be unenforceable, that shall not affect the
enforceability of the remaining provisions. This License Agreement shall be governed by the laws of the
State of North Carolina and of the United States, without regard to any conflict of laws provisions,
except that the United Nations Convention on the International Sale of Goods shall not apply.
Copyright 2006 Red Hat, Inc. All rights reserved.
"JBoss" and the JBoss logo are registered trademarks of Red Hat, Inc.
All other trademarks are the property of their respective owners.
Page 1 of 1 18 October 2006
libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/ 0000755 0001750 0001750 00000000000 11145122070 021176 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/ 0000755 0001750 0001750 00000000000 11145122072 025632 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/META-INF/ 0000755 0001750 0001750 00000000000 11145122072 026772 5 ustar twerner twerner ././@LongLink 0000000 0000000 0000000 00000000145 00000000000 011565 L ustar root root libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml0000644 0001750 0001750 00000005677 11145122072 032311 0 ustar twerner twerner
falsetruetrueorg.jboss.test, org.jboss.injbossaoporg.jboss.truefalsejboss.aop:service=JBoss4IntegrationWrapperjboss.system:service=MainDeployer
libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/jboss.properties 0000644 0001750 0001750 00000000415 11145122070 031066 0 ustar twerner twerner # Properties file for the ant install scripts
# Set the root of your jboss installation here
jboss.home=/Users/kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.GA/
#Set the server configuration you want to patch here (e.g, all or default)
jboss.config=all
libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/build.xml 0000644 0001750 0001750 00000044276 11145122070 027466 0 ustar twerner twerner
JBoss AS Version is '${AS-Specification-Version}'The server ${jboss.home} lacks a jboss-aspect-library.jdk50.jar library. Downloading jar...Backing up existing jbossall-client.jar to ${bak.jbossall-client}Backing up existing ${lib.jbossaop-client.injboss} to ${bak.jbossaop-client}Backing up existing aop deployer to ${old.deployer}
libjboss-aop-java-2.0.1.GA.orig/jboss-40-install/jboss-aop-jdk50.deployer/ReadMe-AS4.txt 0000644 0001750 0001750 00000003204 11145122070 030112 0 ustar twerner twerner NOTE: from the 2.0 release of JBoss AOP only JDK1.5 is supported. This means that that both JBoss AS and AOP
need to be compiled with JDK1.5 before you upgrade JBoss AOP.
To upgrade your jboss instance:
* If installing in a version before JBoss 4.0.4, you should leave javassist.jar in place in this folder.
*If installing in jboss 4.0.4 or later, the classes contained in javassist.jar will already be available,
and you should do the following to avoid versioning conflicts:
-move javassist.jar to ../../lib/javassist.jar
*On JBoss 4.0.4 or later, and if using JDK 1.4, you should upgrade the version of jbossretro-rt.jar by moving it
from the jboss-aop-jdk14.deployer to ../../lib/jbossretro-rt.jar
* Note that this will not replace the jboss-aspect-library(-jdk50).jar, which is tied to application
server version. If you are upgrading from JBoss AOP 1.5.x, you should remove the following packages and classes
contained therein from your jboss-aspect-library(-jdk50).jar:
-org.jboss.aop
-org.jboss.aop.deployment
*Also, in the existing jboss-aspect-library(-jdk50).jar you should delete the classes that exist in
jboss-standalone-aspect-library-jdkxx.jar
* If you are deploying the jdk 1.4 deployer and upgrading from JDK 1.5, we need to modify the interfaces
specifying the simulated annotations in jboss-aspect-library.jar. The build.xml file does this
as part of the install step.
Alternatively, you can use the ant script, which will automate all these tasks for you:
1) Edit jboss.properties file, setting the root of the jboss installation
and the server configuration you wish to patch.
2) Run the command:
$ ant libjboss-aop-java-2.0.1.GA.orig/docs/ 0000755 0001750 0001750 00000000000 11145122070 017121 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/RELEASE_NOTES.html 0000644 0001750 0001750 00000130565 11145122072 021123 0 ustar twerner twerner
Release Notes - JBoss AOP - Version 2.0.0.SP1
Release Notes - JBoss AOP - Version 2.0.1.GA
Bug
[JBAOP-573] - Created Interceptor name is assumed to not change for a given scenario
[JBAOP-673] - jboss-aop-single.jar structure is wrong
[JBAOP-679] - Reference guide example explaining $implements{} is wrong
[JBAOP-680] - _setInstanceAdvisor method not synthetic
[JBAOP-681] - Bad error reporting in Instrumentor.convertReferences()
[JBAOP-685] - Install script needs to replace client jars
[JBAOP-689] - injboss example does not work with AS 4.0.4
[JBAOP-696] - Aspect Library Annotations are not Recognized on JBoss 4.0.4 and JBoss 4.0.5
[JBAOP-697] - Make sure AspectManager.getAdvisors() check all subdomains for advisors
[JBAOP-702] - AspectServiceDelegate.(un)depeplyBaseXml() should use AspectServiceDelegate.manager
[JBAOP-282] - Update aspects dist target to use the zip created by the aop dist build
[JBAOP-285] - overridden method super calls do not get intercepted with generated advisors
[JBAOP-286] - Weaken dependencies on unreleased MC 2.0
[JBAOP-289] - Move AOP out of head and into its own svn repository
libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/ 0000755 0001750 0001750 00000000000 11145122072 021201 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/ReadMe-AS5.txt 0000644 0001750 0001750 00000001126 11145122072 023465 0 ustar twerner twerner To upgrade your jboss instance:
1) Copy the contents of the lib folder into the JBoss-5.x/lib/ folder
2) Copy the jboss-aop-jdk50.deployer over the JBoss-5.x/server/xxx/deployers/jboss-aop-jboss5.deployer/ folder
3) Copy the jboss-aop-client.jar (located at ../lib) into the JBoss-5.x/client/ folder.
Note that this will not replace the jboss-aspect-library.jar, which is tied to application
server version
Alternatively, you can use the ant script:
1) Edit jboss.properties file, setting the root of the jboss installation
and the server configuration you wish to patch.
2) Run the command:
$ ant libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/jboss.properties 0000644 0001750 0001750 00000000415 11145122072 024437 0 ustar twerner twerner # Properties file for the ant install scripts
# Set the root of your jboss installation here
jboss.home=/Users/kabir/sourcecontrol/jboss-head/build/output/jboss-5.0.0.GA/
#Set the server configuration you want to patch here (e.g, all or default)
jboss.config=all
libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/build.xml 0000644 0001750 0001750 00000013233 11145122072 023024 0 ustar twerner twerner
Backing up existing lib directory to ${old.lib}Backing up existing aop deployer to ${old.deployer}Backing up existing ${lib.jbossaop-client.injboss} to ${bak.jbossaop-client}
libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/jboss-aop-jboss5.deployer/ 0000755 0001750 0001750 00000000000 11145122072 026123 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/jboss-50-install/lib/ 0000755 0001750 0001750 00000000000 11145122072 021747 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/build.xml 0000644 0001750 0001750 00000036323 11145122046 020024 0 ustar twerner twerner
${module.Name} Final User API Documentation]]>
]]>Running ${test} with instrumentor ${instrumentor}
libjboss-aop-java-2.0.1.GA.orig/bin/ 0000755 0001750 0001750 00000000000 11145122046 016744 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/bin/aopc.bat 0000644 0001750 0001750 00000005061 11145122046 020360 0 ustar twerner twerner @echo off
set LIB_DIR=%~dp0..\lib\
IF %1a==a goto display_usage
IF %2a==a goto display_usage
IF %3a==a goto display_usage
IF %4a==a goto display_usage
IF %2==%4 goto display_usage
SET USER_CLASSPATH=%1
SET AOPPATH=
SET AOPCLASSPATH=
IF %2==-aoppath SET AOPPATH=-Djboss.aop.path=%3
IF %2==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%3
IF %4%5==-aoppath goto display_usage
IF %4%5==-aopclasspath goto display_usage
IF %4==-aoppath SET AOPPATH=-Djboss.aop.path=%5
IF %4==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%5
IF %4==-aoppath shift
IF %3==-aoppath shift
IF %4==-aopclasspath shift
IF %3==-aopclasspath shift
shift
shift
shift
set ARGS_AND_FILES=
REM get all the command line args
:setupArgs
if %1a==a goto doneStart
set ARGS_AND_FILES=%ARGS_AND_FILES% %1
shift
goto setupArgs
:doneStart
REM Setup AOP classpath
SET AOPC_CLASSPATH=%LIB_DIR%javassist.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop-client.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-reflect.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-mdr.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-spi.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-standalone-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%pluggable-instrumentor.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-common-core.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%trove.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%USER_CLASSPATH%
java -classpath %AOPC_CLASSPATH% %AOPPATH% %AOPCLASSPATH% org.jboss.aop.standalone.Compiler %ARGS_AND_FILES%
goto end
:display_usage
echo Batch file for running the aop precopiler
echo Usage:
echo aopc.bat classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-report] [-verbose] dir_or_file+
echo classpath: Classpath of your sourcefiles and all required libraries
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo dir_or_file: Directory containing files to be aop precompiled
echo -verbose: Specify if you want verbose output
echo -report: If specified, classes do not get instrumented. Instead you get an xml file containing the bindings applied
:end
libjboss-aop-java-2.0.1.GA.orig/bin/run-loadHotSwap.sh 0000644 0001750 0001750 00000005412 11145122046 022331 0 ustar twerner twerner #!/bin/sh
usage(){
echo Script file for running loadtime instrumented aop applications with hot swap enabled
echo Usage:
echo run-loadHotSwap.sh classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-verbose] Main.class [args]
echo
echo classpath: Classpath of your source files and all required libraries
echo
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo
echo -verbose: Specify if you want verbose output
echo
echo Main.class: Your main class
echo
echo args: The args to Main.class
exit 1
}
#Make sure have $1, $2, $3, and $4
if [ "x$1" = "x" ]; then
usage
fi
if [ "x$2" = "x" ]; then
usage
fi
if [ "x$3" = "x" ]; then
usage
fi
if [ "x$4" = "x" ]; then
usage
fi
if [ "$2" = "$4" ]; then
usage
fi
USER_CLASSPATH=$1
AOPPATH=
AOPCLASSPATH=
if [ "$2" = "-aoppath" ]; then
AOPPATH=-Djboss.aop.path=$3
FILESTART=3
fi
if [ "$4" = "-aoppath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPPATH=-Djboss.aop.path=$5
FILESTART=5
fi
if [ "$2" = "-aopclasspath" ]; then
AOPCLASSPATH=-Djboss.aop.class.path=$3
FILESTART=3
fi
if [ "$4" = "-aopclasspath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPCLASSPATH=-Djboss.aop.class.path=$5
FILESTART=5
fi
SCRIPT_DIR=$(dirname $(which $0));
AOPC_CLASSPATH=$SCRIPT_DIR/../lib/javassist.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop-client.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-reflect.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-mdr.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-spi.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-standalone-aspect-library.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/pluggable-instrumentor.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-common-core.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/trove.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$USER_CLASSPATH
CTR=0
for param in $*; do
CTR=`expr $CTR + 1`
if [ $CTR -gt $FILESTART ]; then
MAINCLASS_AND_ARGS=$MAINCLASS_AND_ARGS" "$param
fi
done
#Check for cygwin and convert path if necessary
if (cygpath --version) >/dev/null 2>/dev/null; then
AOPC_CLASSPATH=`cygpath --path --windows $AOPC_CLASSPATH`
fi
java -javaagent:$SCRIPT_DIR/../lib/jboss-aop.jar=-hotSwap -classpath $AOPC_CLASSPATH $AOPPATH $AOPCLASSPATH $MAINCLASS_AND_ARGS
libjboss-aop-java-2.0.1.GA.orig/bin/run-load.bat 0000644 0001750 0001750 00000004775 11145122046 021172 0 ustar twerner twerner @echo off
set LIB_DIR=%~dp0..\lib\
IF %1a==a goto display_usage
IF %2a==a goto display_usage
IF %3a==a goto display_usage
IF %4a==a goto display_usage
IF %2==%4 goto display_usage
SET USER_CLASSPATH=%1
SET AOPPATH=
SET AOPCLASSPATH=
IF %2==-aoppath SET AOPPATH=-Djboss.aop.path=%3
IF %2==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%3
IF %4%5==-aoppath goto display_usage
IF %4%5==-aopclasspath goto display_usage
IF %4==-aoppath SET AOPPATH=-Djboss.aop.path=%5
IF %4==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%5
IF %4==-aoppath shift
IF %3==-aoppath shift
IF %4==-aopclasspath shift
IF %3==-aopclasspath shift
shift
shift
shift
set ARGS_AND_FILES=
REM get all the command line args
:setupArgs
if %1a==a goto doneStart
set ARGS_AND_FILES=%ARGS_AND_FILES% %1
shift
set MAINCLASS_AND_ARGS=%ARGS_AND_FILES%
goto setupArgs
:doneStart
REM Setup AOP classpath
SET AOPC_CLASSPATH=%LIB_DIR%javassist.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop-client.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-reflect.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-mdr.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-spi.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-standalone-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%pluggable-instrumentor.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-common-core.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%trove.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%USER_CLASSPATH%
java -javaagent:%LIB_DIR%jboss-aop.jar -classpath %AOPC_CLASSPATH% %AOPPATH% %AOPCLASSPATH% %MAINCLASS_AND_ARGS%
goto end
:display_usage
echo Script file for running loadtime instrumented aop applications
echo Usage:
echo run-load.bat classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-verbose] Main.class [args]
echo classpath: Classpath of your sourcefiles and all required libraries
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo -verbose: Specify if you want verbose output
echo Main.class: Your main class
echo args: The args to Main.class
:end
libjboss-aop-java-2.0.1.GA.orig/bin/run-precompiled.sh 0000644 0001750 0001750 00000005160 11145122046 022407 0 ustar twerner twerner #!/bin/sh
usage(){
echo Script file for running compile time instrumented aop applications
echo Usage:
echo run-precompiled.sh classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] Main.class [args]
echo
echo classpath: Classpath of your sourcefiles and all required libraries
echo
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo
echo Main.class: Your main class
echo
echo args: The args to Main.class
exit 1
}
#Make sure have $1, $2, $3, and $4
if [ "x$1" = "x" ]; then
usage
fi
if [ "x$2" = "x" ]; then
usage
fi
if [ "x$3" = "x" ]; then
usage
fi
if [ "x$4" = "x" ]; then
usage
fi
if [ "$2" = "$4" ]; then
usage
fi
USER_CLASSPATH=$1
AOPPATH=
AOPCLASSPATH=
if [ "$2" = "-aoppath" ]; then
AOPPATH=-Djboss.aop.path=$3
FILESTART=3
fi
if [ "$4" = "-aoppath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPPATH=-Djboss.aop.path=$5
FILESTART=5
fi
if [ "$2" = "-aopclasspath" ]; then
AOPCLASSPATH=-Djboss.aop.class.path=$3
FILESTART=3
fi
if [ "$4" = "-aopclasspath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPCLASSPATH=-Djboss.aop.class.path=$5
FILESTART=5
fi
SCRIPT_DIR=$(dirname $(which $0));
AOPC_CLASSPATH=$SCRIPT_DIR/../lib/javassist.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop-client.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-reflect.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-mdr.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-spi.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-standalone-aspect-library.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/pluggable-instrumentor.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-common-core.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/trove.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$USER_CLASSPATH
CTR=0
for param in $*; do
CTR=`expr $CTR + 1`
if [ $CTR -gt $FILESTART ]; then
MAINCLASS_AND_ARGS=$MAINCLASS_AND_ARGS" "$param
fi
done
#Check for cygwin and convert path if necessary
if (cygpath --version) >/dev/null 2>/dev/null; then
AOPC_CLASSPATH=`cygpath --path --windows $AOPC_CLASSPATH`
fi
java -classpath $AOPC_CLASSPATH $AOPPATH $AOPCLASSPATH $MAINCLASS_AND_ARGS
libjboss-aop-java-2.0.1.GA.orig/bin/run-precompiled.bat 0000644 0001750 0001750 00000004747 11145122046 022555 0 ustar twerner twerner @echo off
set LIB_DIR=%~dp0..\lib\
IF %1a==a goto display_usage
IF %2a==a goto display_usage
IF %3a==a goto display_usage
IF %4a==a goto display_usage
IF %2==%4 goto display_usage
SET USER_CLASSPATH=%1
SET AOPPATH=
SET AOPCLASSPATH=
IF %2==-aoppath SET AOPPATH=-Djboss.aop.path=%3
IF %2==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%3
IF %4%5==-aoppath goto display_usage
IF %4%5==-aopclasspath goto display_usage
IF %4==-aoppath SET AOPPATH=-Djboss.aop.path=%5
IF %4==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%5
IF %4==-aoppath shift
IF %3==-aoppath shift
IF %4==-aopclasspath shift
IF %3==-aopclasspath shift
shift
shift
shift
set ARGS_AND_FILES=
REM get all the command line args
:setupArgs
if %1a==a goto doneStart
set ARGS_AND_FILES=%ARGS_AND_FILES% %1
shift
set MAINCLASS_AND_ARGS=%ARGS_AND_FILES%
goto setupArgs
:doneStart
REM Setup AOP classpath
SET AOPC_CLASSPATH=%LIB_DIR%javassist.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop-client.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-reflect.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-mdr.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-spi.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-standalone-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%pluggable-instrumentor.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-common-core.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%trove.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%USER_CLASSPATH%
java -classpath %AOPC_CLASSPATH% %AOPPATH% %AOPCLASSPATH% %MAINCLASS_AND_ARGS%
goto end
:display_usage
echo Script file for running compile time instrumented aop applications
echo Usage:
echo run-precompiled.bat classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-verbose] Main.class [args]
echo classpath: Classpath of your sourcefiles and all required libraries
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo -verbose: Specify if you want verbose output
echo Main.class: Your main class
echo args: The args to Main.class
:end
libjboss-aop-java-2.0.1.GA.orig/bin/run-loadHotSwap.bat 0000644 0001750 0001750 00000005014 11145122046 022463 0 ustar twerner twerner @echo off
set LIB_DIR=%~dp0..\lib\
IF %1a==a goto display_usage
IF %2a==a goto display_usage
IF %3a==a goto display_usage
IF %4a==a goto display_usage
IF %2==%4 goto display_usage
SET USER_CLASSPATH=%1
SET AOPPATH=
SET AOPCLASSPATH=
IF %2==-aoppath SET AOPPATH=-Djboss.aop.path=%3
IF %2==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%3
IF %4%5==-aoppath goto display_usage
IF %4%5==-aopclasspath goto display_usage
IF %4==-aoppath SET AOPPATH=-Djboss.aop.path=%5
IF %4==-aopclasspath SET AOPCLASSPATH=-Djboss.aop.class.path=%5
IF %4==-aoppath shift
IF %3==-aoppath shift
IF %4==-aopclasspath shift
IF %3==-aopclasspath shift
shift
shift
shift
set ARGS_AND_FILES=
REM get all the command line args
:setupArgs
if %1a==a goto doneStart
set ARGS_AND_FILES=%ARGS_AND_FILES% %1
shift
set MAINCLASS_AND_ARGS=%ARGS_AND_FILES%
goto setupArgs
:doneStart
REM Setup AOP classpath
SET AOPC_CLASSPATH=%LIB_DIR%javassist.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop-client.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-reflect.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-mdr.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-logging-spi.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-standalone-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%log4j.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%pluggable-instrumentor.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aop.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-aspect-library.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%jboss-common-core.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%LIB_DIR%trove.jar
SET AOPC_CLASSPATH=%AOPC_CLASSPATH%;%USER_CLASSPATH%
java -javaagent:%LIB_DIR%jboss-aop.jar=-hotSwap -classpath %AOPC_CLASSPATH% %AOPPATH% %AOPCLASSPATH% %MAINCLASS_AND_ARGS%
goto end
:display_usage
echo Script file for running loadtime instrumented aop applications
echo Usage:
echo run-loadHotSwap.bat classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-verbose] Main.class [args]
echo classpath: Classpath of your sourcefiles and all required libraries
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo -verbose: Specify if you want verbose output
echo Main.class: Your main class
echo args: The args to Main.class
:end
libjboss-aop-java-2.0.1.GA.orig/bin/aopc.sh 0000644 0001750 0001750 00000005347 11145122046 020233 0 ustar twerner twerner #!/bin/sh
usage(){
echo Batch file for running the aop precompiler
echo Usage:
echo aopc.sh [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-report] [-verbose] dir_or_file+
echo
echo classpath: Classpath of your sourcefiles and all required libraries
echo
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo
echo dir_or_file: Directory containing files to be aop precompiled
echo
echo -verbose: Specify if you want verbose output
echo
echo -report: If specified, classes do not get instrumented. Instead you get an xml file containing the bindings applied
exit 1
}
#Make sure have $1, $2 and $3
if [ "x$1" = "x" ]; then
usage
fi
if [ "x$2" = "x" ]; then
usage
fi
if [ "x$3" = "x" ]; then
usage
fi
if [ "$1" = "$3" ]; then
usage
fi
AOPPATH=
AOPCLASSPATH=
if [ "$1" = "-aoppath" ]; then
AOPPATH=-Djboss.aop.path=$2
FILESTART=2
fi
if [ "$3" = "-aoppath" ]; then
if [ "x$4" = "x" ]; then
usage
fi
AOPPATH=-Djboss.aop.path=$4
FILESTART=4
fi
if [ "$1" = "-aopclasspath" ]; then
AOPCLASSPATH=-Djboss.aop.class.path=$2
FILESTART=2
fi
if [ "$3" = "-aopclasspath" ]; then
if [ "x$4" = "x" ]; then
usage
fi
AOPCLASSPATH=-Djboss.aop.class.path=$4
FILESTART=4
fi
SCRIPT_DIR=$(dirname $(which $0));
AOPC_CLASSPATH=$SCRIPT_DIR/../lib/javassist.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop-client.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-reflect.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-mdr.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-spi.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-standalone-aspect-library.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/pluggable-instrumentor.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-common-core.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/trove.jar
CTR=0
for param in $*; do
CTR=`expr $CTR + 1`
if [ $CTR -gt $FILESTART ]; then
ARGS_AND_FILES=$ARGS_AND_FILES" "$param
AOPC_CLASSPATH=$AOPC_CLASSPATH:$param
fi
done
#Check for cygwin and convert path if necessary
if (cygpath --version) >/dev/null 2>/dev/null; then
AOPC_CLASSPATH=`cygpath --path --windows $AOPC_CLASSPATH`
fi
java -classpath $AOPC_CLASSPATH $AOPPATH $AOPCLASSPATH org.jboss.aop.standalone.Compiler $ARGS_AND_FILES
libjboss-aop-java-2.0.1.GA.orig/bin/run-load.sh 0000644 0001750 0001750 00000005344 11145122046 021027 0 ustar twerner twerner #!/bin/sh
usage(){
echo Script file for running loadtime instrumented aop applications
echo Usage:
echo run-load.sh classpath [-aoppath path_to_aop.xml] [-aopclasspath path_to_annotated] [-verbose] Main.class [args]
echo
echo classpath: Classpath of your source files and all required libraries
echo
echo path_to_.aop.xml: Path to your *-aop.xml files (separated by colon)
echo
echo path_to_annotated: Path to jars/directories that have annotated aspects (separated by colon)
echo
echo -verbose: Specify if you want verbose output
echo
echo Main.class: Your main class
echo
echo args: The args to Main.class
exit 1
}
#Make sure have $1, $2, $3 and $4
if [ "x$1" = "x" ]; then
usage
fi
if [ "x$2" = "x" ]; then
usage
fi
if [ "x$3" = "x" ]; then
usage
fi
if [ "x$4" = "x" ]; then
usage
fi
if [ "$2" = "$4" ]; then
usage
fi
USER_CLASSPATH=$1
AOPPATH=
AOPCLASSPATH=
if [ "$2" = "-aoppath" ]; then
AOPPATH=-Djboss.aop.path=$3
FILESTART=3
fi
if [ "$4" = "-aoppath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPPATH=-Djboss.aop.path=$5
FILESTART=5
fi
if [ "$2" = "-aopclasspath" ]; then
AOPCLASSPATH=-Djboss.aop.class.path=$3
FILESTART=3
fi
if [ "$4" = "-aopclasspath" ]; then
if [ "x$5" = "x" ]; then
usage
fi
AOPCLASSPATH=-Djboss.aop.class.path=$5
FILESTART=5
fi
SCRIPT_DIR=$(dirname $(which $0));
AOPC_CLASSPATH=$SCRIPT_DIR/../lib/javassist.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop-client.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-reflect.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-mdr.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-logging-spi.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-standalone-aspect-library.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/log4j.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/pluggable-instrumentor.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-aop.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/jboss-common-core.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$SCRIPT_DIR/../lib/trove.jar
AOPC_CLASSPATH=$AOPC_CLASSPATH:$USER_CLASSPATH
CTR=0
for param in $*; do
CTR=`expr $CTR + 1`
if [ $CTR -gt $FILESTART ]; then
MAINCLASS_AND_ARGS=$MAINCLASS_AND_ARGS" "$param
fi
done
#Check for cygwin and convert path if necessary
if (cygpath --version) >/dev/null 2>/dev/null; then
AOPC_CLASSPATH=`cygpath --path --windows $AOPC_CLASSPATH`
fi
java -javaagent:$SCRIPT_DIR/../lib/jboss-aop.jar -classpath $AOPC_CLASSPATH $AOPPATH $AOPCLASSPATH $MAINCLASS_AND_ARGS
libjboss-aop-java-2.0.1.GA.orig/etc/ 0000755 0001750 0001750 00000000000 11145122046 016747 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/etc/jbossorg-eula.txt 0000644 0001750 0001750 00000020021 11145122046 022257 0 ustar twerner twerner LICENSE AGREEMENT
JBOSS(r)
This License Agreement governs the use of the Software Packages and any updates to the Software
Packages, regardless of the delivery mechanism. Each Software Package is a collective work
under U.S. Copyright Law. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to
the user ("Client") a license to the applicable collective work(s) pursuant to the
GNU Lesser General Public License v. 2.1 except for the following Software Packages:
(a) JBoss Portal Forums and JBoss Transactions JTS, each of which is licensed pursuant to the
GNU General Public License v.2;
(b) JBoss Rules, which is licensed pursuant to the Apache License v.2.0;
(c) an optional download for JBoss Cache for the Berkeley DB for Java database, which is licensed under the
(open source) Sleepycat License (if Client does not wish to use the open source version of this database,
it may purchase a license from Sleepycat Software);
and (d) the BPEL extension for JBoss jBPM, which is licensed under the Common Public License v.1,
and, pursuant to the OASIS BPEL4WS standard, requires parties wishing to redistribute to enter various
royalty-free patent licenses.
Each of the foregoing licenses is available at http://www.opensource.org/licenses/index.php.
1. The Software. "Software Packages" refer to the various software modules that are created and made available
for distribution by the JBoss.org open source community at http://www.jboss.org. Each of the Software Packages
may be comprised of hundreds of software components. The end user license agreement for each component is located in
the component's source code. With the exception of certain image files identified in Section 2 below,
the license terms for the components permit Client to copy, modify, and redistribute the component,
in both source code and binary code forms. This agreement does not limit Client's rights under,
or grant Client rights that supersede, the license terms of any particular component.
2. Intellectual Property Rights. The Software Packages are owned by Red Hat and others and are protected under copyright
and other laws. Title to the Software Packages and any component, or to any copy, modification, or merged portion shall
remain with the aforementioned, subject to the applicable license. The "JBoss" trademark, "Red Hat" trademark, the
individual Software Package trademarks, and the "Shadowman" logo are registered trademarks of Red Hat and its affiliates
in the U.S. and other countries. This agreement permits Client to distribute unmodified copies of the Software Packages
using the Red Hat trademarks that Red Hat has inserted in the Software Packages on the condition that Client follows Red Hat's
trademark guidelines for those trademarks located at http://www.redhat.com/about/corporate/trademark/. Client must abide by
these trademark guidelines when distributing the Software Packages, regardless of whether the Software Packages have been modified.
If Client modifies the Software Packages, then Client must replace all Red Hat trademarks and logos identified at
http://www.jboss.com/company/logos, unless a separate agreement with Red Hat is executed or other permission granted.
Merely deleting the files containing the Red Hat trademarks may corrupt the Software Packages.
3. Limited Warranty. Except as specifically stated in this Paragraph 3 or a license for a particular
component, to the maximum extent permitted under applicable law, the Software Packages and the
components are provided and licensed "as is" without warranty of any kind, expressed or implied,
including the implied warranties of merchantability, non-infringement or fitness for a particular purpose.
Red Hat warrants that the media on which Software Packages may be furnished will be free from defects in
materials and manufacture under normal use for a period of 30 days from the date of delivery to Client.
Red Hat does not warrant that the functions contained in the Software Packages will meet Client's requirements
or that the operation of the Software Packages will be entirely error free or appear precisely as described
in the accompanying documentation. This warranty extends only to the party that purchases the Services
pertaining to the Software Packages from Red Hat or a Red Hat authorized distributor.
4. Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, the remedies
described below are accepted by Client as its only remedies. Red Hat's entire liability, and Client's
exclusive remedies, shall be: If the Software media is defective, Client may return it within 30 days of
delivery along with a copy of Client's payment receipt and Red Hat, at its option, will replace it or
refund the money paid by Client for the Software. To the maximum extent permitted by applicable law,
Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential
damages, including lost profits or lost savings arising out of the use or inability to use the Software,
even if Red Hat or such dealer has been advised of the possibility of such damages. In no event shall
Red Hat's liability under this agreement exceed the amount that Client paid to Red Hat under this
Agreement during the twelve months preceding the action.
5. Export Control. As required by U.S. law, Client represents and warrants that it:
(a) understands that the Software Packages are subject to export controls under the
U.S. Commerce Department's Export Administration Regulations ("EAR");
(b) is not located in a prohibited destination country under the EAR or U.S. sanctions regulations
(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria);
(c) will not export, re-export, or transfer the Software Packages to any prohibited destination, entity,
or individual without the necessary export license(s) or authorizations(s) from the U.S. Government;
(d) will not use or transfer the Software Packages for use in any sensitive nuclear, chemical or
biological weapons, or missile technology end-uses unless authorized by the U.S. Government by
regulation or specific license;
(e) understands and agrees that if it is in the United States and exports or transfers the Software
Packages to eligible end users, it will, as required by EAR Section 740.17(e), submit semi-annual
reports to the Commerce Department's Bureau of Industry & Security (BIS), which include the name and
address (including country) of each transferee;
and (f) understands that countries other than the United States may restrict the import, use, or
export of encryption products and that it shall be solely responsible for compliance with any such
import, use, or export restrictions.
6. Third Party Programs. Red Hat may distribute third party software programs with the Software Packages
that are not part of the Software Packages and which Client must install separately. These third party
programs are subject to their own license terms. The license terms either accompany the programs or
can be viewed at http://www.redhat.com/licenses/. If Client does not agree to abide by the applicable
license terms for such programs, then Client may not install them. If Client wishes to install the programs
on more than one system or transfer the programs to another party, then Client must contact the licensor
of the programs.
7. General. If any provision of this agreement is held to be unenforceable, that shall not affect the
enforceability of the remaining provisions. This License Agreement shall be governed by the laws of the
State of North Carolina and of the United States, without regard to any conflict of laws provisions,
except that the United Nations Convention on the International Sale of Goods shall not apply.
Copyright 2006 Red Hat, Inc. All rights reserved.
"JBoss" and the JBoss logo are registered trademarks of Red Hat, Inc.
All other trademarks are the property of their respective owners.
Page 1 of 1 18 October 2006
libjboss-aop-java-2.0.1.GA.orig/etc/jboss-aop_1_0.dtd 0000644 0001750 0001750 00000006354 11145122046 022010 0 ustar twerner twerner
libjboss-aop-java-2.0.1.GA.orig/etc/jboss-aop_2_0.xsd 0000644 0001750 0001750 00000053111 11145122046 022025 0 ustar twerner twerner
libjboss-aop-java-2.0.1.GA.orig/etc/default.mf 0000644 0001750 0001750 00000000730 11145122046 020717 0 ustar twerner twerner Manifest-Version: 1.0
Created-By: @java.vm.version@ (@java.vm.vendor@)
Specification-Title: @aop.title@
Specification-Version: @aop.version@
Specification-Vendor: @specification.vendor@
Implementation-Title: @aop.title@
Implementation-URL: @implementation.url@
Implementation-Version: @aop.version@
Implementation-Vendor: @implementation.vendor@
Implementation-Vendor-Id: @implementation.vendor.id@
Premain-Class: org.jboss.aop.standalone.Agent
Can-Redefine-Classes: true
libjboss-aop-java-2.0.1.GA.orig/aophelper/ 0000755 0001750 0001750 00000000000 11145122072 020152 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/aophelper/README 0000644 0001750 0001750 00000001225 11145122072 021032 0 ustar twerner twerner Aophelper is an attempt to make it easier for people to start using aop.
It will set up all the different jars and its possible to select different settings.
Aophelper has two modes. One compile mode and one run mode;
The compile mode will only try to aopcompile already compiled javacode.
Run mode will try to run a aopcompiled program. It can also run it with loadtime weaving
(which means that no aopcompile step is necessary.
Note that Aophelper is still in a early beta stage, please report any issues/ideas to the
aop dev team either to our forum or mailling list.
TODO:
1. genereate a simple ant script from the settings.
2. rewrite the ui
3. +++
libjboss-aop-java-2.0.1.GA.orig/aophelper/resources/ 0000755 0001750 0001750 00000000000 11145122072 022164 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/aophelper/resources/jboss-aop.xml 0000644 0001750 0001750 00000000344 11145122072 024604 0 ustar twerner twerner
libjboss-aop-java-2.0.1.GA.orig/aophelper/aophelper.sh 0000644 0001750 0001750 00000001030 11145122072 022457 0 ustar twerner twerner #!/bin/sh
AOP_PATH=$PWD/../lib
CLASSPATH=$AOP_PATH/javassist.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/jboss-reflect.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/jboss-mdr.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/jboss-logging-spi.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/jboss-common-core.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/trove.jar
CLASSPATH=$CLASSPATH:$AOP_PATH/jboss-aop.jar
CLASSPATH=$CLASSPATH:$PWD/lib/aophelper.jar
java -javaagent:$PWD/../lib/jboss-aop.jar -cp $CLASSPATH -Djboss.aop.path=resources/jboss-aop.xml org.jboss.aophelper.ui.AopHelperFrame
libjboss-aop-java-2.0.1.GA.orig/aophelper/aophelper.bat 0000644 0001750 0001750 00000001100 11145122072 022611 0 ustar twerner twerner @echo off
SET PWD=%cd%
SET AOP_PATH=%PWD%\..\lib
SET CLASSPATH=%AOP_PATH%\javassist.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\jboss-reflect.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\jboss-mdr.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\jboss-logging-spi.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\jboss-common-core.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\trove.jar
CLASSPATH=%CLASSPATH%;%AOP_PATH%\jboss-aop.jar
CLASSPATH=%CLASSPATH%;%PWD%\lib\aophelper.jar
java -javaagent:%PWD%\..\lib\jboss-aop.jar -cp %CLASSPATH% -Djboss.aop.path=resources\jboss-aop.xml org.jboss.aophelper.ui.AopHelperFrame
libjboss-aop-java-2.0.1.GA.orig/aophelper/lib/ 0000755 0001750 0001750 00000000000 11145122072 020720 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/ 0000755 0001750 0001750 00000000000 11145122070 016760 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/ 0000755 0001750 0001750 00000000000 11145122070 022423 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/ 0000755 0001750 0001750 00000000000 11145122070 023347 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/ 0000755 0001750 0001750 00000000000 11145122070 024136 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/ 0000755 0001750 0001750 00000000000 11145122070 025256 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/ 0000755 0001750 0001750 00000000000 11145122070 026035 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/domain/ 0000755 0001750 0001750 00000000000 11145122070 027304 5 ustar twerner twerner ././@LongLink 0000000 0000000 0000000 00000000167 00000000000 011571 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/domain/ScopedRepositoryClassLoaderDomain.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/domain/ScopedRepositoryClas0000644 0001750 0001750 00000012311 11145122070 033345 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.domain;
import org.jboss.aop.AspectManager;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
import org.jboss.mx.loading.LoaderRepository;
import org.jboss.mx.loading.RepositoryClassLoader;
/**
* A domain that is used for scoped classloaders
*
* @author Kabir Khan
* @author adrian@jboss.org
* @version $Revision: 1.1 $
*/
public class ScopedRepositoryClassLoaderDomain extends ScopedClassLoaderDomain
{
public ScopedRepositoryClassLoaderDomain(ClassLoader loader, String name, boolean parentDelegation, AspectManager manager, boolean parentFirst)
{
super(loader, name, parentDelegation, manager, parentFirst);
}
// FIXME: JBAOP-107 REMOVE THIS HACK
public boolean isValid()
{
RepositoryClassLoader cl = (RepositoryClassLoader) getClassLoader();
if (cl == null)
return false;
return cl.getLoaderRepository() != null;
}
protected Object getPerVmAspectWithNoParentDelegation(String def)
{
Object aspect = myPerVMAspects.get(def);
if (aspect != null)
{
return aspect;
}
aspect = super.getSuperPerVmAspect(def);
if (aspect != null)
{
synchronized(myPerVMAspects)
{
LoaderRepository loadingRepository = getAspectRepository(aspect);
LoaderRepository myRepository = getScopedRepository();
if (loadingRepository == myRepository)
{
//The parent does not load this class
myPerVMAspects.put(def, aspect);
}
else
{
//The class has been loaded by a parent classloader, find out if we also have a copy
try
{
Class> clazz = myRepository.loadClass(aspect.getClass().getName());
if (clazz == aspect.getClass())
{
notMyPerVMAspects.put(def, Boolean.TRUE);
}
else
{
//We have a different version of the class deployed
AspectDefinition aspectDefinition = getAspectDefinition(def);
//Override the classloader to create the aspect instance
aspect = createPerVmAspect(def, aspectDefinition, getClassLoader());
myPerVMAspects.put(def, aspect);
}
}
catch (ClassNotFoundException e)
{
throw new RuntimeException(e);
}
}
}
}
return aspect;
}
private LoaderRepository getAspectRepository(Object aspect)
{
ClassLoader cl = aspect.getClass().getClassLoader();
ClassLoader parent = cl;
while (parent != null)
{
if (parent instanceof RepositoryClassLoader)
{
return ((RepositoryClassLoader)parent).getLoaderRepository();
}
parent = parent.getParent();
}
return null;
}
private HeirarchicalLoaderRepository3 getScopedRepository()
{
ClassLoader classloader = getClassLoader();
if (classloader == null)
throw new IllegalStateException("ClassLoader no longer exists: " + classLoaderString);
if (classloader instanceof RepositoryClassLoader == false)
throw new IllegalStateException("ClassLoader is not an instanceof RepositoryClassLoader " + classLoaderString);
RepositoryClassLoader repositoryClassLoader = (RepositoryClassLoader) classloader;
LoaderRepository loaderRepository = repositoryClassLoader.getLoaderRepository();
if (loaderRepository == null)
throw new IllegalStateException("ClassLoader has been undeployed: " + classLoaderString);
if (loaderRepository instanceof HeirarchicalLoaderRepository3 == false)
throw new IllegalStateException("Repository " + loaderRepository + " for classlaoder " + classLoaderString + " is not an HeirarchicalLoaderRepository3");
return (HeirarchicalLoaderRepository3) loaderRepository;
}
}
libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/deployers/ 0000755 0001750 0001750 00000000000 11145122070 030043 5 ustar twerner twerner ././@LongLink 0000000 0000000 0000000 00000000162 00000000000 011564 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/deployers/AspectManagerJMXRegistrar.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/deployers/AspectManagerJMXR0000644 0001750 0001750 00000005765 11145122070 033216 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source.
* Copyright 2006, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.deployers;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.management.StandardMBean;
import org.jboss.aop.asintegration.core.AspectManagerServiceDelegate;
import org.jboss.aop.deployment.AbstractAspectManagerService;
import org.jboss.aop.deployment.AbstractAspectManagerServiceMBean;
import org.jboss.logging.Logger;
/**
* MC Bean to register and unregister the AspectManagerService MBean in JMX
*
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
public class AspectManagerJMXRegistrar
{
final static Logger log = Logger.getLogger(AspectManagerJMXRegistrar.class.getName());
final static String ASPECTMANAGER_OBJECTNAME = "jboss.aop:service=AspectManager";
MBeanServer server;
AspectManagerServiceDelegate aspectManager;
public void setMbeanServer(MBeanServer server)
{
this.server = server;
}
public void setAspectManager(AspectManagerServiceDelegate aspectManager)
{
this.aspectManager = aspectManager;
}
public void start() throws Exception
{
try
{
log.debug("Registering AspectManagerService in JMX under: " + ASPECTMANAGER_OBJECTNAME);
server.registerMBean(new StandardMBean(new AbstractAspectManagerService(aspectManager), AbstractAspectManagerServiceMBean.class), new ObjectName(ASPECTMANAGER_OBJECTNAME));
}
catch (Exception e)
{
// AutoGenerated
throw new RuntimeException("Error starting AspectManagerJMXWrapper", e);
}
}
public void stop()
{
try
{
log.debug("Unregistering AspectManagerService in JMX under: " + ASPECTMANAGER_OBJECTNAME);
server.unregisterMBean(new ObjectName(ASPECTMANAGER_OBJECTNAME));
}
catch (Exception e)
{
// AutoGenerated
throw new RuntimeException("Error stopping AspectManagerJMXWrapper", e);
}
}
}
libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/ 0000755 0001750 0001750 00000000000 11145122070 030704 5 ustar twerner twerner libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/ 0000755 0001750 0001750 00000000000 11145122070 032110 5 ustar twerner twerner ././@LongLink 0000000 0000000 0000000 00000000162 00000000000 011564 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/JBossClassPool.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/JBossC0000644 0001750 0001750 00000010343 11145122070 033157 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.io.File;
import java.io.FileOutputStream;
import java.net.URL;
import java.security.ProtectionDomain;
import org.jboss.aop.classpool.AOPClassPool;
import org.jboss.mx.loading.RepositoryClassLoader;
import javassist.CannotCompileException;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.scopedpool.ScopedClassPoolRepository;
/**
* Comment
*
* @author Bill Burke
* @author adrian@jboss.org
* @version $Revision: 79518 $
*/
public class JBossClassPool extends AOPClassPool
{
/**
* Used for dynamically created classes (see loadClass(String, byte[]), ClassLoader)
*/
protected File tempdir = null;
protected URL tempURL = null;
// For loadClass tmpdir creation for UCL
protected final Object tmplock = new Object();
protected JBossClassPool(ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository, File tmp, URL tmpURL)
{
super(cl, src, repository);
tempdir = tmp;
tempURL = tmpURL;
}
protected JBossClassPool(ClassPool src, ScopedClassPoolRepository repository)
{
super(src, repository);
}
public boolean isUnloadedClassLoader()
{
if (getClassLoader() instanceof RepositoryClassLoader)
{
RepositoryClassLoader rcl = (RepositoryClassLoader) getClassLoader();
return rcl.getLoaderRepository() == null;
}
return false;
}
public Class> toClass(CtClass cc, ClassLoader loader, ProtectionDomain domain)
throws CannotCompileException
{
lockInCache(cc);
if (getClassLoader() == null || tempdir == null)
{
return super.toClass(cc, loader, domain);
}
Class> dynClass = null;
try
{
File classFile = null;
String classFileName = getResourceName(cc.getName());
// Write the clas file to the tmpdir
synchronized (tmplock)
{
classFile = new File(tempdir, classFileName);
File pkgDirs = classFile.getParentFile();
pkgDirs.mkdirs();
FileOutputStream stream = new FileOutputStream(classFile);
stream.write(cc.toBytecode());
stream.flush();
stream.close();
classFile.deleteOnExit();
}
// We have to clear Blacklist caches or the class will never
// be found
//((UnifiedClassLoader)dcl).clearBlacklists();
// To be backward compatible
RepositoryClassLoader rcl = (RepositoryClassLoader) getClassLoader();
rcl.clearClassBlackList();
rcl.clearResourceBlackList();
// Now load the class through the cl
dynClass = getClassLoader().loadClass(cc.getName());
}
catch (Exception ex)
{
ClassFormatError cfe = new ClassFormatError("Failed to load dyn class: " + cc.getName());
cfe.initCause(ex);
throw cfe;
}
return dynClass;
}
@Override
protected boolean isLocalResource(String resourceName)
{
if (super.isLocalResource(resourceName))
{
return true;
}
File file = new File(tempdir, resourceName);
if (file.exists())
{
return true;
}
return false;
}
}
././@LongLink 0000000 0000000 0000000 00000000163 00000000000 011565 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/SecurityActions.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/Securi0000644 0001750 0001750 00000005167 11145122070 033276 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source.
* Copyright 2006, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
/**
*
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
class SecurityActions
{
interface GetParentAction
{
ClassLoader getParent(ClassLoader loader);
GetParentAction NON_PRIVILEGED = new GetParentAction()
{
public ClassLoader getParent(ClassLoader loader)
{
return loader.getParent();
}
};
GetParentAction PRIVILEGED = new GetParentAction()
{
public ClassLoader getParent(final ClassLoader loader)
{
try
{
return AccessController.doPrivileged(new PrivilegedExceptionAction()
{
public ClassLoader run() throws Exception
{
return loader.getParent();
}
});
}
catch (PrivilegedActionException e)
{
throw new RuntimeException(e.getException());
}
}
};
}
public static ClassLoader getParent(ClassLoader loader)
{
if (loader == null)
{
return null;
}
if (System.getSecurityManager() == null)
{
return GetParentAction.NON_PRIVILEGED.getParent(loader);
}
else
{
return GetParentAction.PRIVILEGED.getParent(loader);
}
}
}
././@LongLink 0000000 0000000 0000000 00000000165 00000000000 011567 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/JBoss4Integration.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/JBoss40000644 0001750 0001750 00000013201 11145122070 033134 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source
* Copyright 2006, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.io.File;
import javassist.ClassPool;
import javassist.scopedpool.ScopedClassPool;
import javassist.scopedpool.ScopedClassPoolFactory;
import javassist.scopedpool.ScopedClassPoolRepository;
import javax.management.Attribute;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.InvalidAttributeValueException;
import javax.management.MBeanException;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import org.jboss.aop.AspectManager;
import org.jboss.aop.asintegration.JBossIntegration;
import org.jboss.aop.classpool.AOPClassLoaderScopingPolicy;
import org.jboss.aop.domain.ScopedRepositoryClassLoaderDomain;
import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
import org.jboss.mx.loading.RepositoryClassLoader;
import org.jboss.mx.server.ServerConstants;
import org.jboss.mx.util.MBeanServerLocator;
import org.jboss.mx.util.ObjectNameFactory;
/**
* JBoss4Integration.
*
* This class and its associated classes are
* for the old JBoss4 integration with the LoaderRepository
*
*
Related Classes:
*
{@link JBossClassPool}
*
{@link JBossClassPoolFactory}
*
{@link ScopedRepositoryClassLoaderHelper}
*
{@link LoaderRepositoryUrlUtil}
*
{@link ScopedRepositoryClassLoaderDomain}
*
{@link ScopedJBossClassPool}
*
*
* @author Adrian Brock
* @author Bill Burke
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
public class JBoss4Integration implements JBossIntegration, ScopedClassPoolFactory
{
static {
//pre-load necessary classes so that we avoid NoClassDefFoundErrors on JRockit when using the RepositoryClassloader hook
//When AspectManager.translate() is called the first time, these classes have not been loaded yet, and this is what causes
//JRockit to get confused
@SuppressWarnings("unused")
Class> clazz = HeirarchicalLoaderRepository3.class;
}
static final ObjectName DEFAULT_LOADER_REPOSITORY = ObjectNameFactory.create(ServerConstants.DEFAULT_LOADER_NAME);
/** The delegate classpool factory */
private ScopedClassPoolFactory delegateClassPoolFactory;
public boolean isValidClassLoader(ClassLoader loader)
{
if (!(loader instanceof RepositoryClassLoader)) return false;
return ((RepositoryClassLoader) loader).getLoaderRepository() != null;
}
public AOPClassLoaderScopingPolicy createAOPClassLoaderScopingPolicy()
{
return new RepositoryClassLoaderScopingPolicy();
}
public ScopedClassPoolFactory createScopedClassPoolFactory(File tmpDir) throws Exception
{
delegateClassPoolFactory = new JBossClassPoolFactory(tmpDir);
return this;
}
public ScopedClassPool create(ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository)
{
return delegateClassPoolFactory.create(cl, src, repository);
}
public ScopedClassPool create(ClassPool src, ScopedClassPoolRepository repository)
{
return delegateClassPoolFactory.create(src, repository);
}
public void attachDeprecatedTranslator()
{
AspectManager mgr = AspectManager.instance();
MBeanServer server = MBeanServerLocator.locateJBoss();
try
{
server.setAttribute(DEFAULT_LOADER_REPOSITORY, new Attribute("Translator", mgr));
}
catch (InstanceNotFoundException e)
{
throw new RuntimeException(e);
}
catch (AttributeNotFoundException e)
{
throw new RuntimeException(e);
}
catch (InvalidAttributeValueException e)
{
throw new RuntimeException(e);
}
catch (MBeanException e)
{
throw new RuntimeException(e);
}
catch (ReflectionException e)
{
throw new RuntimeException(e);
}
}
public void detachDeprecatedTranslator()
{
MBeanServer server = MBeanServerLocator.locateJBoss();
try
{
server.setAttribute(DEFAULT_LOADER_REPOSITORY, new Attribute("Translator", null));
}
catch (InstanceNotFoundException e)
{
throw new RuntimeException(e);
}
catch (AttributeNotFoundException e)
{
throw new RuntimeException(e);
}
catch (InvalidAttributeValueException e)
{
throw new RuntimeException(e);
}
catch (MBeanException e)
{
throw new RuntimeException(e);
}
catch (ReflectionException e)
{
throw new RuntimeException(e);
}
}
}
././@LongLink 0000000 0000000 0000000 00000000173 00000000000 011566 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/LoaderRepositoryUrlUtil.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/Loader0000644 0001750 0001750 00000012462 11145122070 033246 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.net.URL;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServer;
import javax.management.Notification;
import javax.management.NotificationListener;
import javax.management.ObjectName;
import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
import org.jboss.mx.loading.LoaderRepository;
import org.jboss.mx.util.MBeanServerLocator;
/**
*
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
public class LoaderRepositoryUrlUtil implements NotificationListener
{
final static MBeanServer SERVER;
final static ObjectName MAIN_LOADER_REPOSITORY_OBJECT_NAME;
final static LoaderRepository MAIN_LOADER_REPOSITORY;
static
{
SERVER = MBeanServerLocator.locateJBoss();
try
{
MAIN_LOADER_REPOSITORY_OBJECT_NAME = new ObjectName("JMImplementation:name=Default,service=LoaderRepository");
MAIN_LOADER_REPOSITORY = (LoaderRepository)SERVER.invoke(MAIN_LOADER_REPOSITORY_OBJECT_NAME, "getInstance", new Object[0], new String[0]);
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
long currentSequenceNumber;
long lastSequenceNumber = -1;
URL[] urls;
public LoaderRepositoryUrlUtil()
{
try
{
SERVER.addNotificationListener(MAIN_LOADER_REPOSITORY_OBJECT_NAME, this, null, null);
}
catch (InstanceNotFoundException e)
{
throw new RuntimeException(e);
}
}
public synchronized void handleNotification(Notification notification, Object handback)
{
if (notification.getType().equals(LoaderRepository.CLASSLOADER_ADDED))
{
currentSequenceNumber = notification.getSequenceNumber();
}
else if (notification.getType().equals(LoaderRepository.CLASSLOADER_REMOVED))
{
currentSequenceNumber = notification.getSequenceNumber();
}
}
public synchronized UrlInfo getURLInfo(HeirarchicalLoaderRepository3 scopedLoader, UrlInfo urlInfo)
{
boolean changed = false;
if (lastSequenceNumber != currentSequenceNumber)
{
urls = MAIN_LOADER_REPOSITORY.getURLs();
lastSequenceNumber = currentSequenceNumber;
changed = true;
}
if (!changed)
{
changed = urlInfo != null && (urlInfo.getSequenceNumber() != lastSequenceNumber);
}
if (urlInfo == null || changed)
{
URL[] localUrls = getLocalUrls(scopedLoader, urls);
urlInfo = new UrlInfo(urls, localUrls, lastSequenceNumber);
}
return urlInfo;
}
public long getCurrentSequenceNumber()
{
return currentSequenceNumber;
}
private URL[] getLocalUrls(HeirarchicalLoaderRepository3 scopedRepository, URL[] globalUrls)
{
URL[] scopedRepositoryUrls = scopedRepository.getURLs();
//This is a bit of a hack, since this relies on the order of the urls returned by HeirarchicalLoaderRepository3
//My urls, followed by parent urls.
int scopedLength = 0;
for (int i = 0 ; i < scopedRepositoryUrls.length ; i++)
{
for (int j = 0 ; j < globalUrls.length ; j ++)
{
if (scopedRepositoryUrls[i].equals(globalUrls[j]))
{
scopedLength = i;
break;
}
}
if (scopedLength > 0)
{
break;
}
}
URL[] localUrls = new URL[scopedLength];
System.arraycopy(scopedRepositoryUrls, 0, localUrls, 0, scopedLength);
return localUrls;
}
public class UrlInfo
{
URL[] globalUrls;
URL[] localUrls;
long sequenceNumber;
public UrlInfo(URL[] globalUrls, URL[] localUrls, long sequenceNumber)
{
super();
this.globalUrls = globalUrls;
this.localUrls = localUrls;
this.sequenceNumber = sequenceNumber;
}
public URL[] getGlobalUrls()
{
return globalUrls;
}
public URL[] getLocalUrls()
{
return localUrls;
}
public long getSequenceNumber()
{
return sequenceNumber;
}
}
}
././@LongLink 0000000 0000000 0000000 00000000170 00000000000 011563 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/ScopedJBossClassPool.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/Scoped0000644 0001750 0001750 00000021416 11145122070 033254 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import org.jboss.aop.AspectManager;
import org.jboss.aop.classpool.AOPClassPool;
import org.jboss.aop.classpool.AOPClassPoolRepository;
import org.jboss.aop.asintegration.jboss4.LoaderRepositoryUrlUtil.UrlInfo;
import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
import org.jboss.mx.loading.LoaderRepository;
import org.jboss.mx.loading.RepositoryClassLoader;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.NotFoundException;
import javassist.scopedpool.ScopedClassPoolRepository;
/**
* A classpool in JBoss backed by a scoped (HierarchicalLoaderRepository) loader repository
*
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
public class ScopedJBossClassPool extends JBossClassPool
{
final static LoaderRepositoryUrlUtil LOADER_REPOSITORY_UTIL = new LoaderRepositoryUrlUtil();
private UrlInfo urlInfo;
private ThreadLocal lastPool = new ThreadLocal();
public ScopedJBossClassPool(ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository, File tmp, URL tmpURL)
{
super(cl, src, repository, tmp, tmpURL);
boolean parentFirst = false;
LoaderRepository loaderRepository = null;
ClassLoader prnt = cl;
while (prnt != null)
{
if (prnt instanceof RepositoryClassLoader)
{
loaderRepository = ((RepositoryClassLoader)prnt).getLoaderRepository();
if (loaderRepository instanceof HeirarchicalLoaderRepository3)
{
parentFirst = ((HeirarchicalLoaderRepository3)loaderRepository).getUseParentFirst();
}
break;
}
prnt = SecurityActions.getParent(cl);
}
super.childFirstLookup = !parentFirst;
}
private HeirarchicalLoaderRepository3 getRepository()
{
ClassLoader cl = getClassLoader0();
if (cl != null)
{
return (HeirarchicalLoaderRepository3)((RepositoryClassLoader)cl).getLoaderRepository();
}
return null;
}
private URL getResourceUrlForClass(String resourcename)
{
HeirarchicalLoaderRepository3 repo = getRepository();
return repo.getResource(resourcename, super.getClassLoader());
}
private boolean isMine(URL url)
{
HeirarchicalLoaderRepository3 repo = getRepository();
if (repo != null)
{
//The URL of the class loaded with my scoped classloader
if (url != null)
{
urlInfo = LOADER_REPOSITORY_UTIL.getURLInfo(getRepository(), urlInfo);
URL[] myUrls = urlInfo.getLocalUrls();
String resource = url.toString();
for (int i = 0 ; i < myUrls.length ; i++)
{
if (resource.indexOf(myUrls[i].toString()) >= 0)
{
return true;
}
}
return false;
}
}
return true;
}
public CtClass getCached(String classname)
{
if (classname == null)
{
return null;
}
if (isUnloadedClassLoader())
{
return null;
}
if (generatedClasses.get(classname) != null)
{
//It is a new class, and this callback is probably coming from the frozen check when creating a new nested class
return super.getCached(classname);
}
//Is this from the scoped classloader itself of from the parent?
String resourcename = getResourceName(classname);
URL url = getResourceUrlForClass(resourcename);
boolean isMine = isMine(url);
if (isMine)
{
if (super.childFirstLookup)
{
//Parent delegation is false, attempt to get this class out of ourselves
CtClass clazz = super.getCachedLocally(classname);
if (clazz == null)
{
clazz = createCtClass(classname, false);
if (clazz != null)
{
lockInCache(clazz);
}
}
if (clazz != null)
{
return clazz;
}
}
return super.getCached(classname);
}
try
{
ClassPool pool = getCorrectPoolForResource(classname, url);
if (pool != lastPool.get())
{
lastPool.set(pool);
return pool.get(classname);
}
}
catch (NotFoundException e)
{
}
catch(StackOverflowError e)
{
throw e;
}
finally
{
lastPool.set(null);
}
return null;
}
@Override
protected boolean includeInGlobalSearch()
{
return false;
}
private ClassPool getCorrectPoolForResource(String classname, URL url)
{
synchronized(AspectManager.getRegisteredCLs())
{
//JBoss 5 has an extra NoAnnotationURLCLassLoader that is not on the default path, make sure that that is checked at the end
//FIXME This needs revisiting/removing once the
ArrayList noAnnotationURLClassLoaderPools = null;
String resource = url.toString();
for(ClassPool pool : AspectManager.getRegisteredCLs().values())
{
AOPClassPool candidate = (AOPClassPool)pool;
if (candidate.isUnloadedClassLoader())
{
AspectManager.instance().unregisterClassLoader(candidate.getClassLoader());
continue;
}
if (candidate.getClassLoader() instanceof RepositoryClassLoader)
{
//Sometimes the ClassLoader is a proxy for MBeanProxyExt?!
RepositoryClassLoader rcl = (RepositoryClassLoader)candidate.getClassLoader();
URL[] urls = rcl.getClasspath();
for (int i = 0 ; i < urls.length ; i++)
{
if (resource.indexOf(urls[i].getFile()) >= 0)
{
return candidate;
}
}
}
//FIXME Remove once we have the JBoss 5 version of pool
else if (isInstanceOfNoAnnotationURLClassLoader(candidate.getClassLoader()))
{
if (noAnnotationURLClassLoaderPools == null)
{
noAnnotationURLClassLoaderPools = new ArrayList();
}
noAnnotationURLClassLoaderPools.add(candidate);
}
}
//FIXME Remove once we have the JBoss 5 version of pool
if (noAnnotationURLClassLoaderPools != null)
{
for (AOPClassPool pool : noAnnotationURLClassLoaderPools)
{
try
{
pool.get(classname);
return pool;
}
catch(NotFoundException ignoreTryNext)
{
}
}
}
}
return AOPClassPool.createAOPClassPool(ClassPool.getDefault(), AOPClassPoolRepository.getInstance());
}
/**
* NoAnnotationURLCLassLoader lives in different packages in JBoss 4 and 5
*/
private boolean isInstanceOfNoAnnotationURLClassLoader(ClassLoader loader)
{
Class> parent = loader.getClass();
while (parent != null)
{
if ("NoAnnotationURLClassLoader".equals(parent.getSimpleName()))
{
return true;
}
parent = parent.getSuperclass();
}
return false;
}
}
././@LongLink 0000000 0000000 0000000 00000000206 00000000000 011563 L ustar root root libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/RepositoryClassLoaderScopingPolicy.java libjboss-aop-java-2.0.1.GA.orig/src/asintegration-jmx/main/org/jboss/aop/asintegration/jboss4/Reposi0000644 0001750 0001750 00000012744 11145122070 033304 0 ustar twerner twerner /*
* JBoss, Home of Professional Open Source.
* Copyright 2006, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.aop.asintegration.jboss4;
import java.util.Map;
import java.util.WeakHashMap;
import org.jboss.aop.AspectManager;
import org.jboss.aop.Domain;
import org.jboss.aop.classpool.AOPClassLoaderScopingPolicy;
import org.jboss.aop.classpool.AOPClassPoolRepository;
import org.jboss.aop.domain.ScopedRepositoryClassLoaderDomain;
import org.jboss.logging.Logger;
import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
import org.jboss.mx.loading.RepositoryClassLoader;
/**
*
* @author Kabir Khan
* @version $Revision: 1.1 $
*/
public class RepositoryClassLoaderScopingPolicy implements AOPClassLoaderScopingPolicy
{
Logger log = Logger.getLogger(RepositoryClassLoaderScopingPolicy.class);
/** A map of domains by loader repository, maintaned by the top level AspectManager */
private Map