org.eclipse.pde.api.tools_1.0.301.v20111129-2053

66: invokespecial 384	java/lang/StringBuffer:<init>	()V
    //   69: astore 5
    //   71: aload 5
    //   73: ldc 3
    //   75: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   78: pop
    //   79: aload 5
    //   81: ldc 13
    //   83: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   86: ldc 12
    //   88: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   91: ldc 14
    //   93: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   96: pop
    //   97: aload 5
    //   99: getstatic 347	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter:REF_STYLE	Ljava/lang/String;
    //   102: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   105: pop
    //   106: aload 5
    //   108: getstatic 346	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter:REF_SCRIPT	Ljava/lang/String;
    //   111: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   114: pop
    //   115: aload 5
    //   117: ldc 16
    //   119: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   122: aload_0
    //   123: aload_1
    //   124: getfield 352	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:name	Ljava/lang/String;
    //   127: invokevirtual 402	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTitle	(Ljava/lang/String;)Ljava/lang/String;
    //   130: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   133: ldc 8
    //   135: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   138: pop
    //   139: aload 5
    //   141: ldc 6
    //   143: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   146: pop
    //   147: aload 5
    //   149: ldc 10
    //   151: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   154: pop
    //   155: aload 5
    //   157: ldc 11
    //   159: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   162: aload_0
    //   163: aload_1
    //   164: getfield 352	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:name	Ljava/lang/String;
    //   167: invokevirtual 402	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTitle	(Ljava/lang/String;)Ljava/lang/String;
    //   170: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   173: ldc 5
    //   175: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   178: pop
    //   179: aload 5
    //   181: aload_0
    //   182: aload_1
    //   183: invokespecial 401	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemSummary	(Lorg/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report;)Ljava/lang/Object;
    //   186: invokevirtual 387	java/lang/StringBuffer:append	(Ljava/lang/Object;)Ljava/lang/StringBuffer;
    //   189: pop
    //   190: new 216	java/lang/StringBuffer
    //   193: dup
    //   194: invokespecial 384	java/lang/StringBuffer:<init>	()V
    //   197: astore 6
    //   199: new 216	java/lang/StringBuffer
    //   202: dup
    //   203: invokespecial 384	java/lang/StringBuffer:<init>	()V
    //   206: astore 7
    //   208: new 216	java/lang/StringBuffer
    //   211: dup
    //   212: invokespecial 384	java/lang/StringBuffer:<init>	()V
    //   215: astore 8
    //   217: aconst_null
    //   218: astore 9
    //   220: aconst_null
    //   221: astore 10
    //   223: aconst_null
    //   224: astore 11
    //   226: aload_1
    //   227: getfield 353	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:apiProblems	Ljava/util/TreeMap;
    //   230: invokevirtual 394	java/util/TreeMap:entrySet	()Ljava/util/Set;
    //   233: invokeinterface 415 1 0
    //   238: astore 12
    //   240: goto +114 -> 354
    //   243: aload 12
    //   245: invokeinterface 411 1 0
    //   250: checkcast 222	java/util/Map$Entry
    //   253: astore 9
    //   255: aload 9
    //   257: invokeinterface 413 1 0
    //   262: checkcast 213	java/lang/Integer
    //   265: astore 10
    //   267: aload 9
    //   269: invokeinterface 414 1 0
    //   274: checkcast 224	java/util/TreeMap
    //   277: astore 11
    //   279: aload 10
    //   281: invokevirtual 379	java/lang/Integer:intValue	()I
    //   284: tableswitch	default:+70->354, 1:+28->312, 2:+43->327, 3:+58->342
    //   312: aload 6
    //   314: aload_0
    //   315: aload 11
    //   317: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
    //   320: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   323: pop
    //   324: goto +30 -> 354
    //   327: aload 7
    //   329: aload_0
    //   330: aload 11
    //   332: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
    //   335: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   338: pop
    //   339: goto +15 -> 354
    //   342: aload 8
    //   344: aload_0
    //   345: aload 11
    //   347: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
    //   350: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   353: pop
    //   354: aload 12
    //   356: invokeinterface 410 1 0
    //   361: ifne -118 -> 243
    //   364: aload 5
    //   366: aload_0
    //   367: getstatic 357	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_ProblemDetails	Ljava/lang/String;
    //   370: getstatic 360	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_ProblemTypes	Ljava/lang/String;
    //   373: invokevirtual 405	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemsTableHeader	(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //   376: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   379: pop
    //   380: aload 6
    //   382: invokevirtual 383	java/lang/StringBuffer:length	()I
    //   385: ifle +18 -> 403
    //   388: aload 5
    //   390: aload_0
    //   391: aload 6
    //   393: getstatic 363	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Type	Ljava/lang/String;
    //   396: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   399: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   402: pop
    //   403: aload 7
    //   405: invokevirtual 383	java/lang/StringBuffer:length	()I
    //   408: ifle +18 -> 426
    //   411: aload 5
    //   413: aload_0
    //   414: aload 7
    //   416: getstatic 356	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Method	Ljava/lang/String;
    //   419: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   422: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   425: pop
    //   426: aload 8
    //   428: invokevirtual 383	java/lang/StringBuffer:length	()I
    //   431: ifle +18 -> 449
    //   434: aload 5
    //   436: aload_0
    //   437: aload 8
    //   439: getstatic 355	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Field	Ljava/lang/String;
    //   442: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   445: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    //   448: pop
    //   449: aload 5
    //   451: ldc 7
    //   453: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   456: pop
    //   457: aload 5
    //   459: ldc 15
    //   461: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   464: ldc 9
    //   466: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   469: getstatic 354	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_BackToIndex	Ljava/lang/String;
    //   472: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   475: ldc 4
    //   477: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   480: ldc_w 188
    //   483: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   486: pop
    //   487: aload 5
    //   489: ldc_w 196
    //   492: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   495: pop
    //   496: aload 5
    //   498: ldc_w 185
    //   501: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
    //   504: pop
    //   505: new 211	java/io/PrintWriter
    //   508: dup
    //   509: new 210	java/io/OutputStreamWriter
    //   512: dup
    //   513: new 208	java/io/FileOutputStream
    //   516: dup
    //   517: aload_3
    //   518: invokespecial 372	java/io/FileOutputStream:<init>	(Ljava/io/File;)V
    //   521: ldc_w 206
    //   524: invokespecial 373	java/io/OutputStreamWriter:<init>	(Ljava/io/OutputStream;Ljava/lang/String;)V
    //   527: invokespecial 376	java/io/PrintWriter:<init>	(Ljava/io/Writer;)V
    //   530: astore_2
    //   531: aload_2
    //   532: aload 5
    //   534: invokevirtual 386	java/lang/StringBuffer:toString	()Ljava/lang/String;
    //   537: invokevirtual 377	java/io/PrintWriter:println	(Ljava/lang/String;)V
    //   540: aload_2
    //   541: invokevirtual 375	java/io/PrintWriter:flush	()V
    //   544: goto +35 -> 579
    //   547: pop
    //   548: new 212	java/lang/Exception
    //   551: dup
    //   552: getstatic 364	org/eclipse/pde/api/tools/internal/search/SearchMessages:ioexception_writing_html_file	Ljava/lang/String;
    //   555: aload_3
    //   556: invokevirtual 369	java/io/File:getAbsolutePath	()Ljava/lang/String;
    //   559: invokestatic 395	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
    //   562: invokespecial 378	java/lang/Exception:<init>	(Ljava/lang/String;)V
    //   565: athrow
    //   566: astore 13
    //   568: aload_2
    //   569: ifnull +7 -> 576
    //   572: aload_2
    //   573: invokevirtual 374	java/io/PrintWriter:close	()V
    //   576: aload 13
    //   578: athrow
    //   579: aload_2
    //   580: ifnull +7 -> 587
    //   583: aload_2
    //   584: invokevirtual 374	java/io/PrintWriter:close	()V
    //   587: return
    // Line number table:
    //   Java source line #77	-> byte code offset #0
    //   Java source line #78	-> byte code offset #2
    //   Java source line #80	-> byte code offset #4
    //   Java source line #81	-> byte code offset #24
    //   Java source line #82	-> byte code offset #32
    //   Java source line #84	-> byte code offset #38
    //   Java source line #85	-> byte code offset #50
    //   Java source line #86	-> byte code offset #57
    //   Java source line #88	-> byte code offset #62
    //   Java source line #89	-> byte code offset #71
    //   Java source line #90	-> byte code offset #79
    //   Java source line #91	-> byte code offset #97
    //   Java source line #92	-> byte code offset #106
    //   Java source line #93	-> byte code offset #115
    //   Java source line #94	-> byte code offset #139
    //   Java source line #95	-> byte code offset #147
    //   Java source line #96	-> byte code offset #155
    //   Java source line #97	-> byte code offset #179
    //   Java source line #99	-> byte code offset #190
    //   Java source line #100	-> byte code offset #199
    //   Java source line #101	-> byte code offset #208
    //   Java source line #102	-> byte code offset #217
    //   Java source line #103	-> byte code offset #220
    //   Java source line #104	-> byte code offset #223
    //   Java source line #105	-> byte code offset #226
    //   Java source line #106	-> byte code offset #243
    //   Java source line #107	-> byte code offset #255
    //   Java source line #108	-> byte code offset #267
    //   Java source line #109	-> byte code offset #279
    //   Java source line #111	-> byte code offset #312
    //   Java source line #112	-> byte code offset #324
    //   Java source line #114	-> byte code offset #327
    //   Java source line #115	-> byte code offset #339
    //   Java source line #117	-> byte code offset #342
    //   Java source line #105	-> byte code offset #354
    //   Java source line #120	-> byte code offset #364
    //   Java source line #121	-> byte code offset #380
    //   Java source line #122	-> byte code offset #388
    //   Java source line #124	-> byte code offset #403
    //   Java source line #125	-> byte code offset #411
    //   Java source line #127	-> byte code offset #426
    //   Java source line #128	-> byte code offset #434
    //   Java source line #130	-> byte code offset #449
    //   Java source line #132	-> byte code offset #457
    //   Java source line #133	-> byte code offset #487
    //   Java source line #134	-> byte code offset #496
    //   Java source line #136	-> byte code offset #505
    //   Java source line #137	-> byte code offset #531
    //   Java source line #138	-> byte code offset #540
    //   Java source line #139	-> byte code offset #547
    //   Java source line #140	-> byte code offset #548
    //   Java source line #141	-> byte code offset #566
    //   Java source line #142	-> byte code offset #568
    //   Java source line #143	-> byte code offset #572
    //   Java source line #146	-> byte code offset #576
    //   Java source line #142	-> byte code offset #579
    //   Java source line #143	-> byte code offset #583
    //   Java source line #147	-> byte code offset #587
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	588	0	this	MissingRefVisitor
    //   0	588	1	report	MissingRefReportConverter.Report
    //   1	583	2	writer	java.io.PrintWriter
    //   3	553	3	originhtml	java.io.File
    //   22	21	4	htmlroot	java.io.File
    //   69	464	5	buffer	StringBuffer
    //   197	195	6	typeProblems	StringBuffer
    //   206	209	7	methodProblems	StringBuffer
    //   215	223	8	fieldProblems	StringBuffer
    //   218	50	9	entry	Map.Entry
    //   221	59	10	key	Integer
    //   224	122	11	types	TreeMap
    //   238	117	12	iterator	Iterator
    //   566	11	13	localObject	Object
    //   547	1	14	localIOException	java.io.IOException
    // Exception table:
    //   from	to	target	type
    //   4	544	547	java/io/IOException
    //   4	566	566	finally
  }
  
  private StringBuffer getProblemRow(StringBuffer type, String header)
  {
    StringBuffer buffer = new StringBuffer();
    buffer.append("<tr>\n");
    buffer.append("<td align=\"left\">\n");
    buffer.append("<b>");
    buffer.append("<a href=\"javascript:void(0)\" class=\"typeslnk\" onclick=\"expand(this)\" title=\"");
    buffer.append(header).append("\">\n");
    buffer.append("<span>[+] </span>").append(header).append("\n");
    buffer.append("</a>\n").append("</b>");
    buffer.append("<div colspan=\"6\" class=\"types\">\n");
    buffer.append(type).append("\n");
    buffer.append("</div>\n");
    buffer.append("</tr>\n");
    return buffer;
  }
  
  private StringBuffer getProblemTable(TreeMap types)
  {
    StringBuffer buffer = new StringBuffer();
    buffer.append("<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"6\">\n");
    Map.Entry entry = null;
    String tname = null;
    ArrayList pbs = null;
    Iterator i2;
    for (Iterator i = types.entrySet().iterator(); i.hasNext(); i2.hasNext())
    {
      entry = (Map.Entry)i.next();
      tname = (String)entry.getKey();
      pbs = (ArrayList)entry.getValue();
      buffer.append("<tr align=\"left\"> \n");
      buffer.append("<td colspan=\"1\" bgcolor=\"#CCCCCC\">").append("<b>").append(tname).append("</b>").append("</td>\n");
      buffer.append("</tr>\n");
      ApiProblem pb = null;
      Collections.sort(pbs, MissingRefReportConverter.compare);
      i2 = pbs.iterator(); continue;
      pb = (ApiProblem)i2.next();
      buffer.append("<tr>\n");
      buffer.append("<td align=\"left\" width=\"75%\">").append(pb.getMessage()).append("</td>\n");
      buffer.append("</tr>\n");
    }
    buffer.append("</table>\n");
    return buffer;
  }
  
  private Object getProblemSummary(MissingRefReportConverter.Report report)
  {
    StringBuffer buffer = new StringBuffer();
    buffer.append("<h4>").append(SearchMessages.MissingRefReportConverter_Summary).append("</h4>\n");
    buffer.append("<p>").append(NLS.bind(SearchMessages.MissingRefReportConverter_SummaryDesc, new String[] { name, Integer.toString(apiProblems.size()) })).append("</p>\n");
    return buffer.toString();
  }
  
  String getProblemsTableHeader(String sectionname, String type)
  {
    StringBuffer buffer = new StringBuffer();
    buffer.append("<h4>").append(sectionname).append("</h4>\n");
    buffer.append("<p>").append(SearchMessages.MissingRefReportConverter_ProblemTableHeader).append("</p>\n");
    buffer.append("<div align=\"left\" class=\"main\">");
    buffer.append("<table border=\"1\" width=\"80%\">\n");
    
    buffer.append("<tr>\n");
    buffer.append("<td bgcolor=\"").append("#E0C040").append("\">").append("<b>").append(type).append("</b></td>\n");
    buffer.append("</tr>\n");
    
    return buffer.toString();
  }
  
  protected String getProblemTitle(String bundle)
  {
    return NLS.bind(SearchMessages.MissingRefReportConverter_ProblemTitle, bundle);
  }
  
  public void addToCurrentReport(List apiProblems)
  {
    this$0.currentreport.add(apiProblems);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.search.MissingRefReportConverter.MissingRefVisitor
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.search;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeMap;
import org.eclipse.pde.api.tools.internal.problems.ApiProblem;

class MissingRefReportConverter$Report
{
  String name = null;
  TreeMap apiProblems = new TreeMap();
  int typeProblems = 0;
  int methodProblems = 0;
  int fieldProblems = 0;
  
  public void add(List apiProblems)
  {
    ApiProblem pb = null;
    ArrayList list = null;
    TreeMap types = null;
    for (Iterator i = apiProblems.iterator(); i.hasNext();)
    {
      pb = (ApiProblem)i.next();
      Integer key = new Integer(pb.getKind());
      types = (TreeMap)this.apiProblems.get(key);
      if (types == null)
      {
        types = new TreeMap(MissingRefReportConverter.compare);
        this.apiProblems.put(key, types);
      }
      String tname = pb.getTypeName();
      list = (ArrayList)types.get(tname);
      if (list == null)
      {
        list = new ArrayList();
        types.put(tname, list);
      }
      list.add(pb);
      switch (pb.getKind())
      {
      case 1: 
        typeProblems += 1;
        break;
      case 2: 
        methodProblems += 1;
        break;
      case 3: 
        fieldProblems += 1;
      }
    }
  }
  
  public int getTotal()
  {
    return typeProblems + methodProblems + fieldProblems;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.pde.api.tools.internal.search.MissingRefReportConverter.Report
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.pde.api.tools.internal.search;

import java.io.File;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.api.tools.internal.problems.ApiProblem;
import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
import org.eclipse.pde.api.tools.internal.provisional.descriptors.IComponentDescriptor;
import org.eclipse.pde.api.tools.internal.provisional.search.IMetadata;
import org.osgi.framework.Version;

public class MissingRefReportConverter
  extends UseReportConverter
{
  class MissingRefVisitor
  {
    public List reports;
    
    MissingRefVisitor() {}
    
    public void visitScan()
    {
      reports = new ArrayList();
    }
    
    public boolean visitComponent(IComponentDescriptor targetComponent)
    {
      currentreport = new MissingRefReportConverter.Report();
      currentreport.name = composeName(targetComponent.getId(), targetComponent.getVersion());
      reports.add(currentreport);
      return true;
    }
    
    protected String composeName(String id, String version)
    {
      String versionName = version;
      if (version == null) {
        versionName = Version.emptyVersion.toString();
      }
      StringBuffer buffer = new StringBuffer(3 + id.length() + versionName.length());
      buffer.append(id).append(" (").append(versionName).append(")");
      return buffer.toString();
    }
    
    public void endVisitComponent()
    {
      try
      {
        writeIndexFileForComponent(currentreport);
      }
      catch (Exception e)
      {
        ApiPlugin.log(e);
      }
    }
    
    /* Error */
    private void writeIndexFileForComponent(MissingRefReportConverter.Report report)
      throws Exception
    {
      // Byte code:
      //   0: aconst_null
      //   1: astore_2
      //   2: aconst_null
      //   3: astore_3
      //   4: new 207	java/io/File
      //   7: dup
      //   8: aload_0
      //   9: getfield 351	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:this$0	Lorg/eclipse/pde/api/tools/internal/search/MissingRefReportConverter;
      //   12: invokevirtual 399	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter:getHtmlLocation	()Ljava/lang/String;
      //   15: aload_1
      //   16: getfield 352	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:name	Ljava/lang/String;
      //   19: invokespecial 371	java/io/File:<init>	(Ljava/lang/String;Ljava/lang/String;)V
      //   22: astore 4
      //   24: aload 4
      //   26: invokevirtual 367	java/io/File:exists	()Z
      //   29: ifne +9 -> 38
      //   32: aload 4
      //   34: invokevirtual 368	java/io/File:mkdirs	()Z
      //   37: pop
      //   38: new 207	java/io/File
      //   41: dup
      //   42: aload 4
      //   44: ldc 17
      //   46: invokespecial 370	java/io/File:<init>	(Ljava/io/File;Ljava/lang/String;)V
      //   49: astore_3
      //   50: aload_3
      //   51: invokevirtual 367	java/io/File:exists	()Z
      //   54: ifne +8 -> 62
      //   57: aload_3
      //   58: invokevirtual 366	java/io/File:createNewFile	()Z
      //   61: pop
      //   62: new 216	java/lang/StringBuffer
      //   65: dup
      //   66: invokespecial 384	java/lang/StringBuffer:<init>	()V
      //   69: astore 5
      //   71: aload 5
      //   73: ldc 3
      //   75: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   78: pop
      //   79: aload 5
      //   81: ldc 13
      //   83: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   86: ldc 12
      //   88: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   91: ldc 14
      //   93: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   96: pop
      //   97: aload 5
      //   99: getstatic 347	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter:REF_STYLE	Ljava/lang/String;
      //   102: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   105: pop
      //   106: aload 5
      //   108: getstatic 346	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter:REF_SCRIPT	Ljava/lang/String;
      //   111: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   114: pop
      //   115: aload 5
      //   117: ldc 16
      //   119: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   122: aload_0
      //   123: aload_1
      //   124: getfield 352	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:name	Ljava/lang/String;
      //   127: invokevirtual 402	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTitle	(Ljava/lang/String;)Ljava/lang/String;
      //   130: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   133: ldc 8
      //   135: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   138: pop
      //   139: aload 5
      //   141: ldc 6
      //   143: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   146: pop
      //   147: aload 5
      //   149: ldc 10
      //   151: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   154: pop
      //   155: aload 5
      //   157: ldc 11
      //   159: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   162: aload_0
      //   163: aload_1
      //   164: getfield 352	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:name	Ljava/lang/String;
      //   167: invokevirtual 402	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTitle	(Ljava/lang/String;)Ljava/lang/String;
      //   170: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   173: ldc 5
      //   175: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   178: pop
      //   179: aload 5
      //   181: aload_0
      //   182: aload_1
      //   183: invokespecial 401	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemSummary	(Lorg/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report;)Ljava/lang/Object;
      //   186: invokevirtual 387	java/lang/StringBuffer:append	(Ljava/lang/Object;)Ljava/lang/StringBuffer;
      //   189: pop
      //   190: new 216	java/lang/StringBuffer
      //   193: dup
      //   194: invokespecial 384	java/lang/StringBuffer:<init>	()V
      //   197: astore 6
      //   199: new 216	java/lang/StringBuffer
      //   202: dup
      //   203: invokespecial 384	java/lang/StringBuffer:<init>	()V
      //   206: astore 7
      //   208: new 216	java/lang/StringBuffer
      //   211: dup
      //   212: invokespecial 384	java/lang/StringBuffer:<init>	()V
      //   215: astore 8
      //   217: aconst_null
      //   218: astore 9
      //   220: aconst_null
      //   221: astore 10
      //   223: aconst_null
      //   224: astore 11
      //   226: aload_1
      //   227: getfield 353	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$Report:apiProblems	Ljava/util/TreeMap;
      //   230: invokevirtual 394	java/util/TreeMap:entrySet	()Ljava/util/Set;
      //   233: invokeinterface 415 1 0
      //   238: astore 12
      //   240: goto +114 -> 354
      //   243: aload 12
      //   245: invokeinterface 411 1 0
      //   250: checkcast 222	java/util/Map$Entry
      //   253: astore 9
      //   255: aload 9
      //   257: invokeinterface 413 1 0
      //   262: checkcast 213	java/lang/Integer
      //   265: astore 10
      //   267: aload 9
      //   269: invokeinterface 414 1 0
      //   274: checkcast 224	java/util/TreeMap
      //   277: astore 11
      //   279: aload 10
      //   281: invokevirtual 379	java/lang/Integer:intValue	()I
      //   284: tableswitch	default:+70->354, 1:+28->312, 2:+43->327, 3:+58->342
      //   312: aload 6
      //   314: aload_0
      //   315: aload 11
      //   317: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
      //   320: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   323: pop
      //   324: goto +30 -> 354
      //   327: aload 7
      //   329: aload_0
      //   330: aload 11
      //   332: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
      //   335: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   338: pop
      //   339: goto +15 -> 354
      //   342: aload 8
      //   344: aload_0
      //   345: aload 11
      //   347: invokespecial 403	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemTable	(Ljava/util/TreeMap;)Ljava/lang/StringBuffer;
      //   350: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   353: pop
      //   354: aload 12
      //   356: invokeinterface 410 1 0
      //   361: ifne -118 -> 243
      //   364: aload 5
      //   366: aload_0
      //   367: getstatic 357	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_ProblemDetails	Ljava/lang/String;
      //   370: getstatic 360	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_ProblemTypes	Ljava/lang/String;
      //   373: invokevirtual 405	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemsTableHeader	(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      //   376: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   379: pop
      //   380: aload 6
      //   382: invokevirtual 383	java/lang/StringBuffer:length	()I
      //   385: ifle +18 -> 403
      //   388: aload 5
      //   390: aload_0
      //   391: aload 6
      //   393: getstatic 363	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Type	Ljava/lang/String;
      //   396: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   399: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   402: pop
      //   403: aload 7
      //   405: invokevirtual 383	java/lang/StringBuffer:length	()I
      //   408: ifle +18 -> 426
      //   411: aload 5
      //   413: aload_0
      //   414: aload 7
      //   416: getstatic 356	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Method	Ljava/lang/String;
      //   419: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   422: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   425: pop
      //   426: aload 8
      //   428: invokevirtual 383	java/lang/StringBuffer:length	()I
      //   431: ifle +18 -> 449
      //   434: aload 5
      //   436: aload_0
      //   437: aload 8
      //   439: getstatic 355	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_Field	Ljava/lang/String;
      //   442: invokespecial 406	org/eclipse/pde/api/tools/internal/search/MissingRefReportConverter$MissingRefVisitor:getProblemRow	(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   445: invokevirtual 389	java/lang/StringBuffer:append	(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
      //   448: pop
      //   449: aload 5
      //   451: ldc 7
      //   453: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   456: pop
      //   457: aload 5
      //   459: ldc 15
      //   461: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   464: ldc 9
      //   466: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   469: getstatic 354	org/eclipse/pde/api/tools/internal/search/SearchMessages:MissingRefReportConverter_BackToIndex	Ljava/lang/String;
      //   472: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   475: ldc 4
      //   477: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   480: ldc_w 188
      //   483: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   486: pop
      //   487: aload 5
      //   489: ldc_w 196
      //   492: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   495: pop
      //   496: aload 5
      //   498: ldc_w 185
      //   501: invokevirtual 388	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
      //   504: pop
      //   505: new 211	java/io/PrintWriter
      //   508: dup
      //   509: new 210	java/io/OutputStreamWriter
      //   512: dup
      //   513: new 208	java/io/FileOutputStream
      //   516: dup
      //   517: aload_3
      //   518: invokespecial 372	java/io/FileOutputStream:<init>	(Ljava/io/File;)V
      //   521: ldc_w 206
      //   524: invokespecial 373	java/io/OutputStreamWriter:<init>	(Ljava/io/OutputStream;Ljava/lang/String;)V
      //   527: invokespecial 376	java/io/PrintWriter:<init>	(Ljava/io/Writer;)V
      //   530: astore_2
      //   531: aload_2
      //   532: aload 5
      //   534: invokevirtual 386	java/lang/StringBuffer:toString	()Ljava/lang/String;
      //   537: invokevirtual 377	java/io/PrintWriter:println	(Ljava/lang/String;)V
      //   540: aload_2
      //   541: invokevirtual 375	java/io/PrintWriter:flush	()V
      //   544: goto +35 -> 579
      //   547: pop
      //   548: new 212	java/lang/Exception
      //   551: dup
      //   552: getstatic 364	org/eclipse/pde/api/tools/internal/search/SearchMessages:ioexception_writing_html_file	Ljava/lang/String;
      //   555: aload_3
      //   556: invokevirtual 369	java/io/File:getAbsolutePath	()Ljava/lang/String;
      //   559: invokestatic 395	org/eclipse/osgi/util/NLS:bind	(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
      //   562: invokespecial 378	java/lang/Exception:<init>	(Ljava/lang/String;)V
      //   565: athrow
      //   566: astore 13
      //   568: aload_2
      //   569: ifnull +7 -> 576
      //   572: aload_2
      //   573: invokevirtual 374	java/io/PrintWriter:close	()V
      //   576: aload 13
      //   578: athrow
      //   579: aload_2
      //   580: ifnull +7 -> 587
      //   583: aload_2
      //   584: invokevirtual 374	java/io/PrintWriter:close	()V
      //   587: return
      // Line number table:
      //   Java source line #77	-> byte code offset #0
      //   Java source line #78	-> byte code offset #2
      //   Java source line #80	-> byte code offset #4
      //   Java source line #81	-> byte code offset #24
      //   Java source line #82	-> byte code offset #32
      //   Java source line #84	-> byte code offset #38
      //   Java source line #85	-> byte code offset #50
      //   Java source line #86	-> byte code offset #57
      //   Java source line #88	-> byte code offset #62
      //   Java source line #89	-> byte code offset #71
      //   Java source line #90	-> byte code offset #79
      //   Java source line #91	-> byte code offset #97
      //   Java source line #92	-> byte code offset #106
      //   Java source line #93	-> byte code offset #115
      //   Java source line #94	-> byte code offset #139
      //   Java source line #95	-> byte code offset #147
      //   Java source line #96	-> byte code offset #155
      //   Java source line #97	-> byte code offset #179
      //   Java source line #99	-> byte code offset #190
      //   Java source line #100	-> byte code offset #199
      //   Java source line #101	-> byte code offset #208
      //   Java source line #102	-> byte code offset #217
      //   Java source line #103	-> byte code offset #220
      //   Java source line #104	-> byte code offset #223
      //   Java source line #105	-> byte code offset #226
      //   Java source line #106	-> byte code offset #243
      //   Java source line #107	-> byte code offset #255
      //   Java source line #108	-> byte code offset #267
      //   Java source line #109	-> byte code offset #279
      //   Java source line #111	-> byte code offset #312
      //   Java source line #112	-> byte code offset #324
      //   Java source line #114	-> byte code offset #327
      //   Java source line #115	-> byte code offset #339
      //   Java source line #117	-> byte code offset #342
      //   Java source line #105	-> byte code offset #354
      //   Java source line #120	-> byte code offset #364
      //   Java source line #121	-> byte code offset #380
      //   Java source line #122	-> byte code offset #388
      //   Java source line #124	-> byte code offset #403
      //   Java source line #125	-> byte code offset #411
      //   Java source line #127	-> byte code offset #426
      //   Java source line #128	-> byte code offset #434
      //   Java source line #130	-> byte code offset #449
      //   Java source line #132	-> byte code offset #457
      //   Java source line #133	-> byte code offset #487
      //   Java source line #134	-> byte code offset #496
      //   Java source line #136	-> byte code offset #505
      //   Java source line #137	-> byte code offset #531
      //   Java source line #138	-> byte code offset #540
      //   Java source line #139	-> byte code offset #547
      //   Java source line #140	-> byte code offset #548
      //   Java source line #141	-> byte code offset #566
      //   Java source line #142	-> byte code offset #568
      //   Java source line #143	-> byte code offset #572
      //   Java source line #146	-> byte code offset #576
      //   Java source line #142	-> byte code offset #579
      //   Java source line #143	-> byte code offset #583
      //   Java source line #147	-> byte code offset #587
      // Local variable table:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd