private List getExportedPackages()

in src/main/java/org/apache/sling/feature/maven/mojos/reports/ExportPackagesReporter.java [61:105]


    private List<String> getExportedPackages(final FeatureDescriptor fd) {
        final ApiRegions regions = ApiRegions.getApiRegions(fd.getFeature());
        final List<String> packages = new ArrayList<>();

        for (final BundleDescriptor bd : fd.getBundleDescriptors()) {
            for (PackageInfo p : bd.getExportedPackages()) {
                String version = p.getVersion();
                if (version == null) {
                    version = "----";
                }
                String region = "----";
                String deprecated = "";
                if (regions != null) {
                    boolean found = false;
                    for (final ApiRegion r : regions.listRegions()) {
                        for (final ApiExport e : r.listExports()) {
                            if (e.getName().equals(p.getName())) {
                                found = true;
                                region = r.getName();
                                final Deprecation d = e.getDeprecation();
                                if (d.getPackageInfo() != null) {
                                    deprecated = "    ".concat("deprecated");
                                }
                                break;
                            }
                        }
                        if (found) {
                            break;
                        }
                    }
                }
                packages.add(p.getName()
                        .concat("    ")
                        .concat(version)
                        .concat("    ")
                        .concat(bd.getArtifact().getId().toMvnId())
                        .concat("    ")
                        .concat(region)
                        .concat(deprecated));
            }
        }

        Collections.sort(packages);
        return packages;
    }