From 95c5b9a33f49777dae61b2371c2d66380af58bdf Mon Sep 17 00:00:00 2001 From: jeffliu <jeffliu> Date: Fri, 11 Aug 2006 17:39:40 +0000 Subject: [PATCH] All usage reports to be combined into one --- .../adopters/CombineClass2Reference.java | 53 ++++++++++++++++--- .../tools/component/xsl/combine-class2ref.xsl | 4 +- .../tools/component/xsl/combine-pkg2ref.xsl | 4 +- .../component/xsl/combine-plugin2ref.xsl | 4 +- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/adopters/CombineClass2Reference.java b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/adopters/CombineClass2Reference.java index a3672e37a..0dcea5928 100644 --- a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/adopters/CombineClass2Reference.java +++ b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/adopters/CombineClass2Reference.java @@ -70,12 +70,15 @@ public class CombineClass2Reference tim = new ComponentLead("Tim"); unknown = new ComponentLead("Unknown"); plugin2complead = new HashMap(); - plugin2complead.put("org.eclipse..st.common.*", chuck); + plugin2complead.put("org.eclipse..st.common.(?!env).*", chuck); + plugin2complead.put("org.eclipse..st.common.env.*", chris); plugin2complead.put("org.eclipse..st.j2ee.*", chuck); + plugin2complead.put("org.eclipse..st.ejb.*", chuck); plugin2complead.put("org.eclipse..st.jsp.*", david); plugin2complead.put("org.eclipse..st.server.*", tim); plugin2complead.put("org.eclipse..st.servlet.*", chuck); - plugin2complead.put("org.eclipse..st.ws.*", chris); + plugin2complead.put("org.eclipse..st.ws", chris); + plugin2complead.put("org.eclipse..st.ws[.].*", chris); plugin2complead.put("org.eclipse..st.command.*", chris); plugin2complead.put("org.eclipse..st.css.*", david); plugin2complead.put("org.eclipse..st.dtd.*", david); @@ -146,7 +149,8 @@ public class CombineClass2Reference FileInputStream fis = null; try { - fis = new FileInputStream((String)it.next()); + String file = (String)it.next(); + fis = new FileInputStream(file); References refs = new References(); refs.load(fis); for (Iterator it2 = refs.getPluginRefs().iterator(); it2.hasNext();) @@ -170,23 +174,23 @@ public class CombineClass2Reference ClassRef classRef = (ClassRef)it3.next(); String name = classRef.getName(); String pkgName = getPackageName(name); - if (isAPI(compXML, pkgName, name.substring(pkgName.length() + 1), classRef.getRefCount(), classRef.getSubclassCount(), classRef.getImplementCount(), classRef.getInstantiateCount())) + int internalCodeUsageCount = getNonAPIUsageCount(compXML, classRef, pkgName, name.substring(pkgName.length() + 1)); + if (internalCodeUsageCount <= 0) continue; - int refCount = classRef.getRefCount(); - pluginRefTotal += refCount; + pluginRefTotal += internalCodeUsageCount; Integer refTotal = (Integer)compLead.class2refCount.get(name); if (refTotal == null) { refTotal = new Integer(0); } - refTotal = new Integer(refCount + refTotal.intValue()); + refTotal = new Integer(internalCodeUsageCount + refTotal.intValue()); compLead.class2refCount.put(name, refTotal); Integer pkgRefTotal = (Integer)compLead.pkg2refCount.get(pkgName); if (pkgRefTotal == null) { pkgRefTotal = new Integer(0); } - compLead.pkg2refCount.put(pkgName, new Integer(refCount + pkgRefTotal.intValue())); + compLead.pkg2refCount.put(pkgName, new Integer(internalCodeUsageCount + pkgRefTotal.intValue())); } compLead.plugin2refCount.put(pluginId, new Integer(pluginRefTotal)); } @@ -241,6 +245,39 @@ public class CombineClass2Reference } } + private int getNonAPIUsageCount(ComponentXML compXML, ClassRef classRef, String pkgName, String localName) + { + if (compXML == null) + return classRef.getRefCount(); + Package pkg = compXML.getPackage(pkgName); + if (pkg == null) + return classRef.getRefCount(); + else + { + Type type = pkg.getType(localName); + if (type == null) + { + if (pkg.isApi()) + return 0; + else + return classRef.getRefCount(); + } + else + { + int count = 0; + if (!type.isReference()) + count += classRef.getRefCount(); + if (!type.isSubclass()) + count += classRef.getSubclassCount(); + if (!type.isImplement()) + count += classRef.getImplementCount(); + if (!type.isInstantiate()) + count += classRef.getInstantiateCount(); + return count; + } + } + } + private String getPackageName(String className) { int i = className.lastIndexOf('.'); diff --git a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-class2ref.xsl b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-class2ref.xsl index f60e44ef1..4f7348e8e 100644 --- a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-class2ref.xsl +++ b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-class2ref.xsl @@ -46,7 +46,7 @@ <tr> <td align="left" width="60%"> <font style="font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold"> - API Usage Report + Internal Code Usage Report </font> </td> </tr> @@ -54,7 +54,7 @@ <table border="0" cellpadding="2" cellspacing="5" width="100%"> <tr> <td ALIGN="LEFT" VALIGN="TOP" COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"> - API usage summary + Internal code usage summary </font></b></td> </tr> </table> diff --git a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-pkg2ref.xsl b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-pkg2ref.xsl index b69bd4efb..01d64ee0c 100644 --- a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-pkg2ref.xsl +++ b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-pkg2ref.xsl @@ -46,7 +46,7 @@ <tr> <td align="left" width="60%"> <font style="font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold"> - API Usage Report + Internal Code Usage Report </font> </td> </tr> @@ -54,7 +54,7 @@ <table border="0" cellpadding="2" cellspacing="5" width="100%"> <tr> <td ALIGN="LEFT" VALIGN="TOP" COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"> - API usage summary + Internal code usage summary </font></b></td> </tr> </table> diff --git a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-plugin2ref.xsl b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-plugin2ref.xsl index 8f92b59a4..668e451ea 100644 --- a/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-plugin2ref.xsl +++ b/archive/releng.builder/tools/apitools/org.eclipse.wtp.releng.tools.component.core/src/org/eclipse/wtp/releng/tools/component/xsl/combine-plugin2ref.xsl @@ -46,7 +46,7 @@ <tr> <td align="left" width="60%"> <font style="font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold"> - API Usage Report + Internal Code Usage Report </font> </td> </tr> @@ -54,7 +54,7 @@ <table border="0" cellpadding="2" cellspacing="5" width="100%"> <tr> <td ALIGN="LEFT" VALIGN="TOP" COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"> - API usage summary + Internal code usage summary </font></b></td> </tr> </table> -- GitLab