From 68cb8199c251d3c749e9664e2471eb98f4a04170 Mon Sep 17 00:00:00 2001 From: Curtis Windatt Date: Tue, 30 Jul 2013 12:45:58 -0500 Subject: Bug 410142 - API Deprecation log: Bad rendering of types and state Change-Id: I0399b094bae2b3f3b3c2543621be198cd7dbedc1 --- .../tasks/APIDeprecationReportConversionTask.java | 87 ++++++++++++---------- .../pde/api/tools/internal/tasks/Messages.java | 4 + .../api/tools/internal/tasks/messages.properties | 2 + 3 files changed, 52 insertions(+), 41 deletions(-) diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIDeprecationReportConversionTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIDeprecationReportConversionTask.java index 89ecc97ce6..2efed5392d 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIDeprecationReportConversionTask.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIDeprecationReportConversionTask.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 IBM Corporation and others. + * Copyright (c) 2010, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -60,7 +60,7 @@ public class APIDeprecationReportConversionTask extends Task { this.debug = debug; } public void endElement(String uri, String localName, String name) - throws SAXException { + throws SAXException { if (IApiXmlConstants.DELTA_ELEMENT_NAME.equals(name)) { Entry entry = new Entry( this.flags, @@ -167,57 +167,62 @@ public class APIDeprecationReportConversionTask extends Task { this.kind = kind; this.elementType = elementType; } - + public String getDisplayString() { StringBuffer buffer = new StringBuffer(); if(this.typeName != null && this.typeName.length() != 0) { buffer.append(this.typeName); - switch(this.flags) { - case IDelta.DEPRECATION : - switch(this.elementType) { - case IDelta.ANNOTATION_ELEMENT_TYPE : - case IDelta.INTERFACE_ELEMENT_TYPE : - case IDelta.ENUM_ELEMENT_TYPE : - case IDelta.CLASS_ELEMENT_TYPE : - buffer.append('.'); - buffer.append(this.key); - break; - case IDelta.CONSTRUCTOR_ELEMENT_TYPE : - int indexOf = key.indexOf('('); - if (indexOf == -1) { - return null; - } - int index = indexOf; - String selector = key.substring(0, index); - String descriptor = key.substring(index, key.length()); - buffer.append('#'); - buffer.append(Signature.toString(descriptor, selector, null, false, false)); - break; - case IDelta.METHOD_ELEMENT_TYPE : - indexOf = key.indexOf('('); - if (indexOf == -1) { - return null; - } - index = indexOf; - selector = key.substring(0, index); - descriptor = key.substring(index, key.length()); - buffer.append('#'); - buffer.append(Signature.toString(descriptor, selector, null, false, true)); - break; - case IDelta.FIELD_ELEMENT_TYPE : - buffer.append('#'); - buffer.append(this.key); + if (this.flags == IDelta.DEPRECATION) { + switch(this.elementType) { + case IDelta.ANNOTATION_ELEMENT_TYPE : + case IDelta.INTERFACE_ELEMENT_TYPE : + case IDelta.ENUM_ELEMENT_TYPE : + case IDelta.CLASS_ELEMENT_TYPE : + // If the root type is deprecated, don't repeat the typename + if (!this.typeName.equals(this.key)){ + buffer.append('.'); + buffer.append(this.key); + } + break; + case IDelta.CONSTRUCTOR_ELEMENT_TYPE : + int indexOf = key.indexOf('('); + if (indexOf == -1) { + return null; + } + int index = indexOf; + String selector = key.substring(0, index); + String descriptor = key.substring(index, key.length()); + buffer.append('#'); + buffer.append(Signature.toString(descriptor, selector, null, false, false)); + break; + case IDelta.METHOD_ELEMENT_TYPE : + indexOf = key.indexOf('('); + if (indexOf == -1) { + return null; } + index = indexOf; + selector = key.substring(0, index); + descriptor = key.substring(index, key.length()); + buffer.append('#'); + buffer.append(Signature.toString(descriptor, selector, null, false, true)); + break; + case IDelta.FIELD_ELEMENT_TYPE : + buffer.append('#'); + buffer.append(this.key); + break; + default : + break; + } } } - + return CommonUtilsTask.convertToHtml(String.valueOf(buffer)); } public String getDisplayKind() { if (ADDED.equals(this.kind)) { - return Messages.AddedElement; + return Messages.APIDeprecationReportConversionTask_KindDeprecated; } else if (REMOVED.equals(this.kind)) { - return Messages.RemovedElement; + return Messages.APIDeprecationReportConversionTask_KindUndeprecated; } return Messages.ChangedElement; } diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/Messages.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/Messages.java index 6266048c31..63c4f8757f 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/Messages.java +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/Messages.java @@ -102,6 +102,10 @@ public class Messages extends NLS { public static String AddedElement; public static String AnalysisReportConversionTask_component_resolution_header; + public static String APIDeprecationReportConversionTask_KindDeprecated; + + public static String APIDeprecationReportConversionTask_KindUndeprecated; + public static String APIFreezeReportConversionTask_resolverErrorTableEnd; public static String APIFreezeReportConversionTask_resolverErrorTableEntry; diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/messages.properties b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/messages.properties index 69c6a9fe8f..c7e87d0344 100644 --- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/messages.properties +++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/messages.properties @@ -207,6 +207,8 @@ fullReportTask_resolutiondetailsSingle=

Reported warn UseTask_no_scan_both_types_not_searched_for=Build stopping - neither API, internal nor illegal references are being searched for AddedElement=ADDED AnalysisReportConversionTask_component_resolution_header=Component Resolution +APIDeprecationReportConversionTask_KindDeprecated=DEPRECATED +APIDeprecationReportConversionTask_KindUndeprecated=UN-DEPRECATED APIFreezeReportConversionTask_resolverErrorTableEnd=\n APIFreezeReportConversionTask_resolverErrorTableEntry=\ \n {0}\n APIFreezeReportConversionTask_resolverErrorTableStart=
\n\ -- cgit v1.2.3