[Fb-contrib-commit] SF.net SVN: fb-contrib:[1703] trunk/fb-contrib/src/com/mebigfatguy/ fbcontrib/
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2011-08-12 02:25:06
|
Revision: 1703
http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1703&view=rev
Author: dbrosius
Date: 2011-08-12 02:24:58 +0000 (Fri, 12 Aug 2011)
Log Message:
-----------
add jersey as a valid sun package
Modified Paths:
--------------
trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/IncorrectInternalClassUse.java
Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/IncorrectInternalClassUse.java
===================================================================
--- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/IncorrectInternalClassUse.java 2011-07-23 04:27:27 UTC (rev 1702)
+++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/IncorrectInternalClassUse.java 2011-08-12 02:24:58 UTC (rev 1703)
@@ -34,83 +34,84 @@
* looks for classes that use objects from com.sun.xxx packages. As these are internal
* to sun and subject to change, this should not be done.
*/
-public class IncorrectInternalClassUse implements Detector
+public class IncorrectInternalClassUse implements Detector
{
- private final BugReporter bugReporter;
- private static final Set<String> internalPackages = new HashSet<String>();
- private static final Set<String> externalPackages = new HashSet<String>();
- static {
- internalPackages.add("com/sun/");
- internalPackages.add("org/apache/xerces/");
- internalPackages.add("org/apache/xalan/");
- externalPackages.add("org/apache/xerces/xni/");
- externalPackages.add("org/apache/xerces/xs/");
- externalPackages.add("org/apache/xalan/extensions");
- }
+ private final BugReporter bugReporter;
+ private static final Set<String> internalPackages = new HashSet<String>();
+ private static final Set<String> externalPackages = new HashSet<String>();
+ static {
+ internalPackages.add("com/sun/");
+ internalPackages.add("org/apache/xerces/");
+ internalPackages.add("org/apache/xalan/");
+ externalPackages.add("com/sun/jersey");
+ externalPackages.add("org/apache/xerces/xni/");
+ externalPackages.add("org/apache/xerces/xs/");
+ externalPackages.add("org/apache/xalan/extensions");
+ }
- /**
+ /**
* constructs a IICU detector given the reporter to report bugs on
* @param bugReporter the sync of bug reports
- */
- public IncorrectInternalClassUse(BugReporter bugReporter) {
- this.bugReporter = bugReporter;
- }
+ */
+ public IncorrectInternalClassUse(BugReporter bugReporter) {
+ this.bugReporter = bugReporter;
+ }
- /**
- * implements the visitor to look for classes that reference com.sun.xxx, or org.apache.xerces.xxx classes
- * by looking for class constants in the constant pool
- *
- * @param context the context object of the currently parsed class
- */
- public void visitClassContext(ClassContext context) {
- JavaClass cls = context.getJavaClass();
- if (!isInternal(cls.getClassName())) {
- ConstantPool pool = cls.getConstantPool();
- int numItems = pool.getLength();
- for (int i = 0; i < numItems; i++) {
- Constant c = pool.getConstant(i);
- if (c instanceof ConstantClass) {
- String clsName = ((ConstantClass) c).getBytes(pool);
- if (isInternal(clsName)) {
- bugReporter.reportBug(new BugInstance(this, "IICU_INCORRECT_INTERNAL_CLASS_USE", NORMAL_PRIORITY)
- .addClass(cls)
- .addString(clsName));
- }
- }
- }
- }
- }
+ /**
+ * implements the visitor to look for classes that reference com.sun.xxx, or org.apache.xerces.xxx classes
+ * by looking for class constants in the constant pool
+ *
+ * @param context the context object of the currently parsed class
+ */
+ public void visitClassContext(ClassContext context) {
+ JavaClass cls = context.getJavaClass();
+ if (!isInternal(cls.getClassName())) {
+ ConstantPool pool = cls.getConstantPool();
+ int numItems = pool.getLength();
+ for (int i = 0; i < numItems; i++) {
+ Constant c = pool.getConstant(i);
+ if (c instanceof ConstantClass) {
+ String clsName = ((ConstantClass) c).getBytes(pool);
+ if (isInternal(clsName)) {
+ bugReporter.reportBug(new BugInstance(this, "IICU_INCORRECT_INTERNAL_CLASS_USE", NORMAL_PRIORITY)
+ .addClass(cls)
+ .addString(clsName));
+ }
+ }
+ }
+ }
+ }
- /**
- * implementation stub for Detector interface
- */
- public void report() {
- }
-
- /**
- * determines if the class in question is an internal class by looking at package prefixes
- *
- * @param clsName the name of the class to check
- * @returns whether the class is internal
- */
- private boolean isInternal(String clsName) {
- boolean internal = false;
- for (String internalPackage : internalPackages) {
- if (clsName.startsWith(internalPackage)) {
- internal = true;
- break;
- }
- }
-
- if (internal) {
- for (String externalPackage : externalPackages) {
- if (clsName.startsWith(externalPackage)) {
- internal = false;
- break;
- }
- }
- }
-
- return internal;
- }
+ /**
+ * implementation stub for Detector interface
+ */
+ public void report() {
+ }
+
+ /**
+ * determines if the class in question is an internal class by looking at package prefixes
+ *
+ * @param clsName the name of the class to check
+ * @returns whether the class is internal
+ */
+ private boolean isInternal(String clsName) {
+ boolean internal = false;
+ for (String internalPackage : internalPackages) {
+ if (clsName.startsWith(internalPackage)) {
+ internal = true;
+ break;
+ }
+ }
+
+ if (internal) {
+ for (String externalPackage : externalPackages) {
+ if (clsName.startsWith(externalPackage)) {
+ internal = false;
+ break;
+ }
+ }
+ }
+
+ return internal;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|