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