# HG changeset patch # User bpatel # Date 1304327582 25200 # Node ID e5a619cb5dd310c41403b4671d59702ef33e69a9 # Parent c1f91868e24d75e1e00d082b73142477d64499a3 6492694: @deprecated tag doesn't work in package-info files. Reviewed-by: jjg diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Mon May 02 02:13:02 2011 -0700 @@ -149,11 +149,20 @@ ClassUseMapper mapper = new ClassUseMapper(configuration.root, classtree); ClassDoc[] classes = configuration.root.classes(); for (int i = 0; i < classes.length; i++) { - ClassUseWriter.generate(configuration, mapper, classes[i]); + // If -nodeprecated option is set and the containing package is marked + // as deprecated, do not generate the class-use page. We will still generate + // the class-use page if the class is marked as deprecated but the containing + // package is not since it could still be linked from that package-use page. + if (!(configuration.nodeprecated && + Util.isDeprecated(classes[i].containingPackage()))) + ClassUseWriter.generate(configuration, mapper, classes[i]); } PackageDoc[] pkgs = configuration.packages; for (int i = 0; i < pkgs.length; i++) { - PackageUseWriter.generate(configuration, mapper, pkgs[i]); + // If -nodeprecated option is set and the package is marked + // as deprecated, do not generate the package-use page. + if (!(configuration.nodeprecated && Util.isDeprecated(pkgs[i]))) + PackageUseWriter.generate(configuration, mapper, pkgs[i]); } } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -42,15 +42,15 @@ public class DeprecatedListWriter extends SubWriterHolderWriter { private static final String[] ANCHORS = new String[] { - "interface", "class", "enum", "exception", "error", "annotation_type", - "field", "method", "constructor", "enum_constant", + "package", "interface", "class", "enum", "exception", "error", + "annotation_type", "field", "method", "constructor", "enum_constant", "annotation_type_member" }; private static final String[] HEADING_KEYS = new String[] { - "doclet.Deprecated_Interfaces", "doclet.Deprecated_Classes", - "doclet.Deprecated_Enums", "doclet.Deprecated_Exceptions", - "doclet.Deprecated_Errors", + "doclet.Deprecated_Packages", "doclet.Deprecated_Interfaces", + "doclet.Deprecated_Classes", "doclet.Deprecated_Enums", + "doclet.Deprecated_Exceptions", "doclet.Deprecated_Errors", "doclet.Deprecated_Annotation_Types", "doclet.Deprecated_Fields", "doclet.Deprecated_Methods", "doclet.Deprecated_Constructors", @@ -59,9 +59,9 @@ }; private static final String[] SUMMARY_KEYS = new String[] { - "doclet.deprecated_interfaces", "doclet.deprecated_classes", - "doclet.deprecated_enums", "doclet.deprecated_exceptions", - "doclet.deprecated_errors", + "doclet.deprecated_packages", "doclet.deprecated_interfaces", + "doclet.deprecated_classes", "doclet.deprecated_enums", + "doclet.deprecated_exceptions", "doclet.deprecated_errors", "doclet.deprecated_annotation_types", "doclet.deprecated_fields", "doclet.deprecated_methods", "doclet.deprecated_constructors", @@ -70,7 +70,7 @@ }; private static final String[] HEADER_KEYS = new String[] { - "doclet.Interface", "doclet.Class", + "doclet.Package", "doclet.Interface", "doclet.Class", "doclet.Enum", "doclet.Exceptions", "doclet.Errors", "doclet.AnnotationType", @@ -116,7 +116,7 @@ DeprecatedListWriter depr = new DeprecatedListWriter(configuration, filename); depr.generateDeprecatedListFile( - new DeprecatedAPIListBuilder(configuration.root)); + new DeprecatedAPIListBuilder(configuration)); depr.close(); } catch (IOException exc) { configuration.standardmessage.error( @@ -149,8 +149,14 @@ memberTableHeader[0] = configuration.getText("doclet.0_and_1", configuration.getText(HEADER_KEYS[i]), configuration.getText("doclet.Description")); - writers[i].addDeprecatedAPI(deprapi.getList(i), - HEADING_KEYS[i], memberTableSummary, memberTableHeader, div); + // DeprecatedAPIListBuilder.PACKAGE == 0, so if i == 0, it is + // a PackageDoc. + if (i == DeprecatedAPIListBuilder.PACKAGE) + addPackageDeprecatedAPI(deprapi.getList(i), + HEADING_KEYS[i], memberTableSummary, memberTableHeader, div); + else + writers[i - 1].addDeprecatedAPI(deprapi.getList(i), + HEADING_KEYS[i], memberTableSummary, memberTableHeader, div); } } body.addContent(div); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -198,23 +198,27 @@ PackageIndexFrameWriter.generate(configuration); } PackageDoc prev = null, next; - for(int i = 0; i < packages.length; i++) { - PackageFrameWriter.generate(configuration, packages[i]); - next = (i + 1 < packages.length && packages[i+1].name().length() > 0) ? - packages[i+1] : null; - //If the next package is unnamed package, skip 2 ahead if possible - next = (i + 2 < packages.length && next == null) ? - packages[i+2]: next; - AbstractBuilder packageSummaryBuilder = configuration. - getBuilderFactory().getPackageSummaryBuilder( - packages[i], prev, next); - packageSummaryBuilder.build(); - if (configuration.createtree) { - PackageTreeWriter.generate(configuration, - packages[i], prev, next, - configuration.nodeprecated); + for (int i = 0; i < packages.length; i++) { + // if -nodeprecated option is set and the package is marked as + // deprecated, do not generate the package-summary.html, package-frame.html + // and package-tree.html pages for that package. + if (!(configuration.nodeprecated && Util.isDeprecated(packages[i]))) { + PackageFrameWriter.generate(configuration, packages[i]); + next = (i + 1 < packages.length && + packages[i + 1].name().length() > 0) ? packages[i + 1] : null; + //If the next package is unnamed package, skip 2 ahead if possible + next = (i + 2 < packages.length && next == null) ? packages[i + 2] : next; + AbstractBuilder packageSummaryBuilder = + configuration.getBuilderFactory().getPackageSummaryBuilder( + packages[i], prev, next); + packageSummaryBuilder.build(); + if (configuration.createtree) { + PackageTreeWriter.generate(configuration, + packages[i], prev, next, + configuration.nodeprecated); + } + prev = packages[i]; } - prev = packages[i]; } } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1395,6 +1395,44 @@ } /** + * Add package deprecation information to the documentation tree + * + * @param deprPkgs list of deprecated packages + * @param headingKey the caption for the deprecated package table + * @param tableSummary the summary for the deprecated package table + * @param tableHeader table headers for the deprecated package table + * @param contentTree the content tree to which the deprecated package table will be added + */ + protected void addPackageDeprecatedAPI(List deprPkgs, String headingKey, + String tableSummary, String[] tableHeader, Content contentTree) { + if (deprPkgs.size() > 0) { + Content table = HtmlTree.TABLE(0, 3, 0, tableSummary, + getTableCaption(configuration().getText(headingKey))); + table.addContent(getSummaryTableHeader(tableHeader, "col")); + Content tbody = new HtmlTree(HtmlTag.TBODY); + for (int i = 0; i < deprPkgs.size(); i++) { + PackageDoc pkg = (PackageDoc) deprPkgs.get(i); + HtmlTree td = HtmlTree.TD(HtmlStyle.colOne, + getPackageLink(pkg, getPackageName(pkg))); + if (pkg.tags("deprecated").length > 0) { + addInlineDeprecatedComment(pkg, pkg.tags("deprecated")[0], td); + } + HtmlTree tr = HtmlTree.TR(td); + if (i % 2 == 0) { + tr.addStyle(HtmlStyle.altColor); + } else { + tr.addStyle(HtmlStyle.rowColor); + } + tbody.addContent(tr); + } + table.addContent(tbody); + Content li = HtmlTree.LI(HtmlStyle.blockList, table); + Content ul = HtmlTree.UL(HtmlStyle.blockList, li); + contentTree.addContent(ul); + } + } + + /** * Prine table header information about color, column span and the font. * * @param color Background color. diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -93,7 +93,7 @@ packgen = new PackageFrameWriter(configuration, packageDoc); String pkgName = Util.getPackageName(packageDoc); Content body = packgen.getBody(false, packgen.getWindowTitle(pkgName)); - Content pkgNameContent = new StringContent(pkgName); + Content pkgNameContent = new RawHtml(pkgName); Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, HtmlStyle.bar, packgen.getTargetPackageLink(packageDoc, "classFrame", pkgNameContent)); body.addContent(heading); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -80,7 +80,10 @@ HtmlTree ul = new HtmlTree(HtmlTag.UL); ul.addAttr(HtmlAttr.TITLE, packagesLabel.toString()); for(int i = 0; i < packages.length; i++) { - if (packages[i] != null) { + // Do not list the package if -nodeprecated option is set and the + // package is marked as deprecated. + if (packages[i] != null && + (!(configuration.nodeprecated && Util.isDeprecated(packages[i])))) { ul.addContent(getPackage(packages[i])); } } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Mon May 02 02:13:02 2011 -0700 @@ -137,6 +137,8 @@ protected void addPackagesList(PackageDoc[] packages, Content tbody) { for (int i = 0; i < packages.length; i++) { if (packages[i] != null && packages[i].name().length() > 0) { + if (configuration.nodeprecated && Util.isDeprecated(packages[i])) + continue; Content packageLinkContent = getPackageLink(packages[i], getPackageName(packages[i])); Content tdPackage = HtmlTree.TD(HtmlStyle.colFirst, packageLinkContent); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Mon May 02 02:13:02 2011 -0700 @@ -242,11 +242,16 @@ */ protected void addPackageUse(PackageDoc pkg, Content contentTree) throws IOException { Content tdFirst = HtmlTree.TD(HtmlStyle.colFirst, - getHyperLink("", pkg.name(), new StringContent(Util.getPackageName(pkg)))); + getHyperLink("", Util.getPackageName(pkg), + new RawHtml(Util.getPackageName(pkg)))); contentTree.addContent(tdFirst); HtmlTree tdLast = new HtmlTree(HtmlTag.TD); tdLast.addStyle(HtmlStyle.colLast); - addSummaryComment(pkg, tdLast); + if (pkg != null && pkg.name().length() != 0) { + addSummaryComment(pkg, tdLast); + } else { + tdLast.addContent(getSpace()); + } contentTree.addContent(tdLast); } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Mon May 02 02:13:02 2011 -0700 @@ -114,11 +114,12 @@ Content packageHead = new RawHtml(heading); tHeading.addContent(packageHead); div.addContent(tHeading); + addDeprecationInfo(div); if (packageDoc.inlineTags().length > 0 && ! configuration.nocomment) { - HtmlTree subTitleDiv = new HtmlTree(HtmlTag.DIV); - subTitleDiv.addStyle(HtmlStyle.subTitle); - addSummaryComment(packageDoc, subTitleDiv); - div.addContent(subTitleDiv); + HtmlTree docSummaryDiv = new HtmlTree(HtmlTag.DIV); + docSummaryDiv.addStyle(HtmlStyle.docSummary); + addSummaryComment(packageDoc, docSummaryDiv); + div.addContent(docSummaryDiv); Content space = getSpace(); Content descLink = getHyperLink("", "package_description", descriptionLabel, "", ""); @@ -139,6 +140,28 @@ } /** + * Add the package deprecation information to the documentation tree. + * + * @param div the content tree to which the deprecation information will be added + */ + public void addDeprecationInfo(Content div) { + Tag[] deprs = packageDoc.tags("deprecated"); + if (Util.isDeprecated(packageDoc)) { + HtmlTree deprDiv = new HtmlTree(HtmlTag.DIV); + deprDiv.addStyle(HtmlStyle.deprecatedContent); + Content deprPhrase = HtmlTree.SPAN(HtmlStyle.strong, deprecatedPhrase); + deprDiv.addContent(deprPhrase); + if (deprs.length > 0) { + Tag[] commentTags = deprs[0].inlineTags(); + if (commentTags.length > 0) { + addInlineDeprecatedComment(packageDoc, deprs[0], deprDiv); + } + } + div.addContent(deprDiv); + } + } + + /** * {@inheritDoc} */ public Content getSummaryHeader() { diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java Mon May 02 02:13:02 2011 -0700 @@ -82,12 +82,20 @@ } PackageDoc[] pds = rd.specifiedPackages(); for (int i = 0; i < pds.length; i++) { - convertPackage(configuration, pds[i], outputdir); + // If -nodeprecated option is set and the package is marked as deprecated, + // do not convert the package files to HTML. + if (!(configuration.nodeprecated && Util.isDeprecated(pds[i]))) + convertPackage(configuration, pds[i], outputdir); } ClassDoc[] cds = rd.specifiedClasses(); for (int i = 0; i < cds.length; i++) { - convertClass(configuration, cds[i], - getPackageOutputDir(outputdir, cds[i].containingPackage())); + // If -nodeprecated option is set and the class is marked as deprecated + // or the containing package is deprecated, do not convert the + // package files to HTML. + if (!(configuration.nodeprecated && + (Util.isDeprecated(cds[i]) || Util.isDeprecated(cds[i].containingPackage())))) + convertClass(configuration, cds[i], + getPackageOutputDir(outputdir, cds[i].containingPackage())); } } @@ -106,7 +114,12 @@ String classOutputdir = getPackageOutputDir(outputdir, pd); ClassDoc[] cds = pd.allClasses(); for (int i = 0; i < cds.length; i++) { - convertClass(configuration, cds[i], classOutputdir); + // If -nodeprecated option is set and the class is marked as deprecated, + // do not convert the package files to HTML. We do not check for + // containing package deprecation since it is already check in + // the calling method above. + if (!(configuration.nodeprecated && Util.isDeprecated(cds[i]))) + convertClass(configuration, cds[i], classOutputdir); } } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -132,7 +132,11 @@ HtmlTree ul = new HtmlTree(HtmlTag.UL); ul.addStyle(HtmlStyle.horizontal); for (int i = 0; i < packages.length; i++) { - if (packages[i].name().length() == 0) { + // If the package name length is 0 or if -nodeprecated option + // is set and the package is marked as deprecated, do not include + // the page in the list of package hierarchies. + if (packages[i].name().length() == 0 || + (configuration.nodeprecated && Util.isDeprecated(packages[i]))) { continue; } String link = pathString(packages[i], "package-tree.html"); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,6 +46,7 @@ contentContainer, description, details, + docSummary, header, horizontal, footer, @@ -67,6 +68,7 @@ subNavList, subTitle, summary, + deprecatedContent, tabEnd, title, topNav; diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties --- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Mon May 02 02:13:02 2011 -0700 @@ -68,6 +68,7 @@ doclet.see.malformed_tag=Tag {0}: Malformed: {1} doclet.Inherited_API_Summary=Inherited API Summary doclet.Deprecated_API=Deprecated API +doclet.Deprecated_Packages=Deprecated Packages doclet.Deprecated_Classes=Deprecated Classes doclet.Deprecated_Enums=Deprecated Enums doclet.Deprecated_Interfaces=Deprecated Interfaces @@ -79,6 +80,7 @@ doclet.Deprecated_Methods=Deprecated Methods doclet.Deprecated_Enum_Constants=Deprecated Enum Constants doclet.Deprecated_Annotation_Type_Members=Deprecated Annotation Type Elements +doclet.deprecated_packages=deprecated packages doclet.deprecated_classes=deprecated classes doclet.deprecated_enums=deprecated enums doclet.deprecated_interfaces=deprecated interfaces diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -419,7 +419,7 @@ docencoding = encoding; } - classDocCatalog = new ClassDocCatalog(root.specifiedClasses()); + classDocCatalog = new ClassDocCatalog(root.specifiedClasses(), this); initTagletManager(customTagStrs); } @@ -677,15 +677,18 @@ } /** - * Return true if the doc element is getting documented, depending upon - * -nodeprecated option and @deprecated tag used. Return true if - * -nodeprecated is not used or @deprecated tag is not used. + * Return true if the ClassDoc element is getting documented, depending upon + * -nodeprecated option and the deprecation information. Return true if + * -nodeprecated is not used. Return false if -nodeprecated is used and if + * either ClassDoc element is deprecated or the containing package is deprecated. + * + * @param cd the ClassDoc for which the page generation is checked */ - public boolean isGeneratedDoc(Doc doc) { + public boolean isGeneratedDoc(ClassDoc cd) { if (!nodeprecated) { return true; } - return (doc.tags("deprecated")).length == 0; + return !(Util.isDeprecated(cd) || Util.isDeprecated(cd.containingPackage())); } /** diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Mon May 02 02:13:02 2011 -0700 @@ -159,6 +159,16 @@ padding-top:10px; } /* +Content styles +*/ +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding-top:10px; +} +/* Page layout container styles */ .contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -47,13 +47,6 @@ /** * {@inheritDoc} */ - public boolean inPackage() { - return false; - } - - /** - * {@inheritDoc} - */ public TagletOutput getTagletOutput(Doc holder, TagletWriter writer) { return writer.deprecatedTagOutput(holder); } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,8 +25,9 @@ package com.sun.tools.doclets.internal.toolkit.util; +import java.util.*; import com.sun.javadoc.*; -import java.util.*; +import com.sun.tools.doclets.internal.toolkit.Configuration; /** * This class acts as an artificial PackageDoc for classes specified @@ -88,13 +89,16 @@ */ private Map> interfaces; + private Configuration configuration; + /** * Construct a new ClassDocCatalog. * * @param classdocs the array of ClassDocs to catalog */ - public ClassDocCatalog (ClassDoc[] classdocs) { + public ClassDocCatalog (ClassDoc[] classdocs, Configuration config) { init(); + this.configuration = config; for (int i = 0; i < classdocs.length; i++) { addClassDoc(classdocs[i]); } @@ -151,9 +155,10 @@ private void addClass(ClassDoc classdoc, Map> map) { PackageDoc pkg = classdoc.containingPackage(); - if (pkg.isIncluded()) { - //No need to catalog this class since it's package is - //included on the command line + if (pkg.isIncluded() || (configuration.nodeprecated && Util.isDeprecated(pkg))) { + //No need to catalog this class if it's package is + //included on the command line or if -nodeprecated option is set + // and the containing package is marked as deprecated. return; } String key = Util.getPackageName(pkg); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -122,8 +122,12 @@ */ private void buildTree(ClassDoc[] classes, Configuration configuration) { for (int i = 0; i < classes.length; i++) { + // In the tree page (e.g overview-tree.html) do not include + // information of classes which are deprecated or are a part of a + // deprecated package. if (configuration.nodeprecated && - classes[i].tags("deprecated").length > 0) { + (Util.isDeprecated(classes[i]) || + Util.isDeprecated(classes[i].containingPackage()))) { continue; } if (classes[i].isEnum()) { diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,27 +27,29 @@ import com.sun.javadoc.*; import java.util.*; +import com.sun.tools.doclets.internal.toolkit.Configuration; /** - * Build list of all the deprecated classes, constructors, fields and methods. + * Build list of all the deprecated packages, classes, constructors, fields and methods. * * @author Atul M Dambalkar */ public class DeprecatedAPIListBuilder { - public static final int NUM_TYPES = 11; + public static final int NUM_TYPES = 12; - public static final int INTERFACE = 0; - public static final int CLASS = 1; - public static final int ENUM = 2; - public static final int EXCEPTION = 3; - public static final int ERROR = 4; - public static final int ANNOTATION_TYPE = 5; - public static final int FIELD = 6; - public static final int METHOD = 7; - public static final int CONSTRUCTOR = 8; - public static final int ENUM_CONSTANT = 9; - public static final int ANNOTATION_TYPE_MEMBER = 10; + public static final int PACKAGE = 0; + public static final int INTERFACE = 1; + public static final int CLASS = 2; + public static final int ENUM = 3; + public static final int EXCEPTION = 4; + public static final int ERROR = 5; + public static final int ANNOTATION_TYPE = 6; + public static final int FIELD = 7; + public static final int METHOD = 8; + public static final int CONSTRUCTOR = 9; + public static final int ENUM_CONSTANT = 10; + public static final int ANNOTATION_TYPE_MEMBER = 11; /** * List of deprecated type Lists. @@ -58,25 +60,33 @@ /** * Constructor. * - * @param root Root of the tree. + * @param configuration the current configuration of the doclet */ - public DeprecatedAPIListBuilder(RootDoc root) { + public DeprecatedAPIListBuilder(Configuration configuration) { deprecatedLists = new ArrayList>(); for (int i = 0; i < NUM_TYPES; i++) { deprecatedLists.add(i, new ArrayList()); } - buildDeprecatedAPIInfo(root); + buildDeprecatedAPIInfo(configuration); } /** * Build the sorted list of all the deprecated APIs in this run. - * Build separate lists for deprecated classes, constructors, methods and - * fields. + * Build separate lists for deprecated packages, classes, constructors, + * methods and fields. * - * @param root Root of the tree. + * @param configuration the current configuration of the doclet. */ - private void buildDeprecatedAPIInfo(RootDoc root) { - ClassDoc[] classes = root.classes(); + private void buildDeprecatedAPIInfo(Configuration configuration) { + PackageDoc[] packages = configuration.packages; + PackageDoc pkg; + for (int c = 0; c < packages.length; c++) { + pkg = packages[c]; + if (Util.isDeprecated(pkg)) { + getList(PACKAGE).add(pkg); + } + } + ClassDoc[] classes = configuration.root.classes(); for (int i = 0; i < classes.length; i++) { ClassDoc cd = classes[i]; if (Util.isDeprecated(cd)) { @@ -90,7 +100,7 @@ getList(ENUM).add(cd); } else if (cd.isError()) { getList(ERROR).add(cd); - }else if (cd.isAnnotationType()) { + } else if (cd.isAnnotationType()) { getList(ANNOTATION_TYPE).add(cd); } } @@ -102,7 +112,7 @@ } if (cd.isAnnotationType()) { composeDeprecatedList(getList(ANNOTATION_TYPE_MEMBER), - ((AnnotationTypeDoc) cd).elements()); + ((AnnotationTypeDoc) cd).elements()); } } sortDeprecatedLists(); diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -207,7 +207,17 @@ * Should this doc element be added to the index map? */ protected boolean shouldAddToIndexMap(Doc element) { - return !(noDeprecated && element.tags("deprecated").length > 0); + if (element instanceof PackageDoc) + // Do not add to index map if -nodeprecated option is set and the + // package is marked as deprecated. + return !(noDeprecated && Util.isDeprecated(element)); + else + // Do not add to index map if -nodeprecated option is set and if the + // Doc is marked as deprecated or the containing package is marked as + // deprecated. + return !(noDeprecated && + (Util.isDeprecated(element) || + Util.isDeprecated(((ProgramElementDoc)element).containingPackage()))); } /** diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java Mon May 02 02:13:02 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -76,13 +76,16 @@ protected void generatePackageListFile(RootDoc root) { PackageDoc[] packages = configuration.packages; - String[] names = new String[packages.length]; + ArrayList names = new ArrayList(); for (int i = 0; i < packages.length; i++) { - names[i] = packages[i].name(); + // if the -nodeprecated option is set and the package is marked as + // deprecated, do not include it in the packages list. + if (!(configuration.nodeprecated && Util.isDeprecated(packages[i]))) + names.add(packages[i].name()); } - Arrays.sort(names); - for (int i = 0; i < packages.length; i++) { - println(names[i]); + Collections.sort(names); + for (int i = 0; i < names.size(); i++) { + println(names.get(i)); } } } diff -r c1f91868e24d -r e5a619cb5dd3 langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java --- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Mon May 02 02:13:02 2011 -0700 @@ -861,11 +861,15 @@ * @param doc the Doc to check. * @return true if the given Doc is deprecated. */ - public static boolean isDeprecated(ProgramElementDoc doc) { + public static boolean isDeprecated(Doc doc) { if (doc.tags("deprecated").length > 0) { return true; } - AnnotationDesc[] annotationDescList = doc.annotations(); + AnnotationDesc[] annotationDescList; + if (doc instanceof PackageDoc) + annotationDescList = ((PackageDoc)doc).annotations(); + else + annotationDescList = ((ProgramElementDoc)doc).annotations(); for (int i = 0; i < annotationDescList.length; i++) { if (annotationDescList[i].annotationType().qualifiedName().equals( java.lang.Deprecated.class.getName())){ diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/C2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/C2.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Another test class. + * + * @author Bhavesh Patel + */ +public class C2 { + + public static enum ModalExclusionType { + /** + * Test comment. + */ + NO_EXCLUDE, + /** + * Another comment. + */ + APPLICATION_EXCLUDE + }; + + /** + * A string constant. + */ + public static final String CONSTANT1 = "C2"; + + /** + * A sample method. + * + * @param param some parameter. + */ + public void method(String param) { + + } +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/FooDepr.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/FooDepr.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.util.*; + +/** +* Test Deprecated class +* @deprecated This class is Deprecated. +*/ +public class FooDepr { + + public void method(Vector o){} + +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6492694 + * @summary Test package deprecation. + * @author bpatel + * @library ../lib/ + * @build JavadocTester TestPackageDeprecation + * @run main TestPackageDeprecation + */ + +public class TestPackageDeprecation extends JavadocTester { + + //Test information. + private static final String BUG_ID = "6492694"; + + //Javadoc arguments. + private static final String[] ARGS1 = new String[]{ + "-d", BUG_ID + "-1", "-source", "1.5", "-sourcepath", SRC_DIR, "-use", "pkg", "pkg1", + SRC_DIR + FS + "C2.java", SRC_DIR + FS + "FooDepr.java" + }; + private static final String[] ARGS2 = new String[]{ + "-d", BUG_ID + "-2", "-source", "1.5", "-sourcepath", SRC_DIR, "-use", "-nodeprecated", + "pkg", "pkg1", SRC_DIR + FS + "C2.java", SRC_DIR + FS + "FooDepr.java" + }; + + //Input for string search tests. + private static final String[][] TEST1 = { + {BUG_ID + "-1" + FS + "pkg1" + FS + "package-summary.html", + "
Deprecated." + NL + + "
This package is Deprecated.
" + }, + {BUG_ID + "-1" + FS + "deprecated-list.html", + "
  • Deprecated Packages
  • " + } + }; + private static final String[][] TEST2 = NO_TEST; + private static final String[][] NEGATED_TEST1 = NO_TEST; + private static final String[][] NEGATED_TEST2 = { + {BUG_ID + "-2" + FS + "overview-summary.html", "pkg1"}, + {BUG_ID + "-2" + FS + "allclasses-frame.html", "FooDepr"} + }; + + /** + * The entry point of the test. + * @param args the array of command line arguments. + */ + public static void main(String[] args) { + TestPackageDeprecation tester = new TestPackageDeprecation(); + run(tester, ARGS1, TEST1, NEGATED_TEST1); + run(tester, ARGS2, TEST2, NEGATED_TEST2); + if ((new java.io.File(BUG_ID + "-2" + FS + "pkg1" + FS + + "package-summary.html")).exists()) { + throw new Error("Test Fails: packages summary should not be" + + "generated for deprecated package."); + } else { + System.out.println("Test passes: package-summary.html not found."); + } + if ((new java.io.File(BUG_ID + "-2" + FS + "FooDepr.html")).exists()) { + throw new Error("Test Fails: FooDepr should not be" + + "generated as it is deprecated."); + } else { + System.out.println("Test passes: FooDepr.html not found."); + } + tester.printSummary(); + } + + /** + * {@inheritDoc} + */ + public String getBugId() { + return BUG_ID; + } + + /** + * {@inheritDoc} + */ + public String getBugName() { + return getClass().getName(); + } +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/pkg/A.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/pkg/A.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg; + +public class A { + /** Test constant. */ + public static final String DEMO= "y"; + public static final String THIS_IS_OK= "(x)"; + + public String DEMO_STRING = ""; + + public A() { + } +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/ClassUseTest1.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/ClassUseTest1.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg1; + +public class ClassUseTest1 { + + public T method(T t) { + return null; + } +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg1; + +import java.util.*; + +/** +* Test Deprecated class +* @deprecated This class is Deprecated. +*/ +public class Foo { + + public void method(Vector o){} + +} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo2.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package pkg1; + +public interface Foo2 {} diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/pkg1/package-info.java Mon May 02 02:13:02 2011 -0700 @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * Test pkg1 used. + * @deprecated This package is Deprecated. + */ +package pkg1; diff -r c1f91868e24d -r e5a619cb5dd3 langtools/test/com/sun/javadoc/testSubTitle/TestSubTitle.java --- a/langtools/test/com/sun/javadoc/testSubTitle/TestSubTitle.java Sat Apr 30 16:57:18 2011 -0700 +++ b/langtools/test/com/sun/javadoc/testSubTitle/TestSubTitle.java Mon May 02 02:13:02 2011 -0700 @@ -37,8 +37,7 @@ private static final String BUG_ID = "7010342"; private static final String[][] TEST = { {BUG_ID + FS + "pkg" + FS + "package-summary.html", - "
    " + NL + "
    This is the " + - "description of package pkg.
    " + NL + "
    " + "
    This is the description of package pkg.
    " }, {BUG_ID + FS + "pkg" + FS + "C.html", "
    pkg
    "