Examples of ExportDescription


Examples of org.papoose.core.descriptions.ExportDescription

    public void testMatch() throws Exception
    {
        Set<String> packages = new HashSet<String>();
        packages.add("com.acme");

        ExportDescription description = new ExportDescription(packages, Collections.<String, Object>emptyMap());

        BundleController mockBundleController = new BundleController(mockFramework, new MockBundleStore(1, "mock:location"));
        Wire test = new Wire("com.acme", description, new BundleGeneration(mockBundleController, new MockArchiveStore()));

        Assert.assertTrue(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertTrue(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "Dynamite.class" }));

        Assert.assertTrue(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "Dynam", "" }));

        Assert.assertTrue(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "", "nam", "" }));

        Assert.assertTrue(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.<String[]>emptyList());
        description.setExclude(Collections.singletonList(new String[]{ "Dynamite.class" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertTrue(test.validFor("com/acme/Anvil.class"));

        description.setExclude(Collections.singletonList(new String[]{ "Dynam", "" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertTrue(test.validFor("com/acme/Anvil.class"));

        description.setExclude(Collections.singletonList(new String[]{ "", "nam", "" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertTrue(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "Dynamite" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "Dynam", "" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        description.setInclude(Collections.singletonList(new String[]{ "", "nam", "" }));

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops.Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));

        List<String[]> included = new ArrayList<String[]>();
        included.add(new String[]{ "", "nam", "" });
        included.add(new String[]{ "", "vi", "" });
        description.setInclude(included);

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertTrue(test.validFor("com/acme/Anvil.class"));

        List<String[]> excluded = new ArrayList<String[]>();
        excluded.add(new String[]{ "", "nam", "" });
        excluded.add(new String[]{ "", "vi", "" });
        description.setExclude(excluded);

        Assert.assertFalse(test.validFor("com/acme/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/oops/Dynamite.class"));
        Assert.assertFalse(test.validFor("com/acme/Anvil.class"));
        Assert.assertFalse(test.validFor("com/acme/Spring.class"));
View Full Code Here

Examples of org.papoose.core.descriptions.ExportDescription

        for (String exportDescription : exportDescriptions)
        {
            Set<String> paths = new HashSet<String>(1);
            Map<String, Object> parameters = new HashMap<String, Object>();
            ExportDescription description = new ExportDescription(paths, parameters);

            Util.parseParameters(exportDescription, description, parameters, true, paths);

            if (parameters.containsKey(Constants.PACKAGE_SPECIFICATION_VERSION)) parameters.put(Constants.PACKAGE_SPECIFICATION_VERSION, Version.parseVersion((String) parameters.get(Constants.PACKAGE_SPECIFICATION_VERSION)));
View Full Code Here

Examples of org.papoose.core.descriptions.ExportDescription

            BundleClassLoader bundleClassLoader = bundleGeneration.getClassLoader();
            for (Wire wire : bundleClassLoader.getWires())
            {
                Candidate candidateBundle = findCandidate(wire.getBundleGeneration());
                ExportDescription exportDescription = wire.getExportDescription();

                for (String packageName : exportDescription.getPackageNames())
                {
                    assertTrue(resolving.addWiring(new CandidateWiring(packageName, exportDescription, candidateBundle)));
                }
            }
        }
View Full Code Here

Examples of org.papoose.core.descriptions.ExportDescription

    @SuppressWarnings({ "deprecation" })
    private static boolean matches(ImportDescriptionWrapper targetImport, ExportDescriptionWrapper candidateExport)
    {
        String importPackage = targetImport.getPackageName();
        Map<String, Object> importParameters = targetImport.getImportDescription().getParameters();
        ExportDescription exportDescription = candidateExport.getExportDescription();
        Map<String, Object> exportParameters = exportDescription.getParameters();

        for (String exportPackage : exportDescription.getPackageNames())
        {
            if (importPackage.equals(exportPackage))
            {
                if (importParameters.containsKey(Constants.VERSION_ATTRIBUTE))
                {
                    VersionRange range = (VersionRange) importParameters.get(Constants.VERSION_ATTRIBUTE);
                    if (!range.includes((Version) exportParameters.get(Constants.VERSION_ATTRIBUTE))) return false;
                }
                if (importParameters.containsKey(Constants.PACKAGE_SPECIFICATION_VERSION))
                {
                    VersionRange range = (VersionRange) importParameters.get(Constants.PACKAGE_SPECIFICATION_VERSION);
                    if (!range.includes((Version) exportParameters.get(Constants.VERSION_ATTRIBUTE))) return false;
                }
                if (importParameters.containsKey(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE))
                {
                    String symbolicName = (String) importParameters.get(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE);
                    if (!symbolicName.equals(candidateExport.getCandidate().getGeneration().getSymbolicName())) return false;
                }
                if (importParameters.containsKey(Constants.BUNDLE_VERSION_ATTRIBUTE))
                {
                    VersionRange range = (VersionRange) importParameters.get(Constants.BUNDLE_VERSION_ATTRIBUTE);
                    if (!range.includes(candidateExport.getCandidate().getGeneration().getVersion())) return false;
                }

                Set<String> importKeys = new HashSet<String>(importParameters.keySet());
                importKeys.removeAll(Arrays.asList(Constants.VERSION_ATTRIBUTE, Constants.PACKAGE_SPECIFICATION_VERSION, Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE, Constants.BUNDLE_VERSION_ATTRIBUTE, Constants.MANDATORY_DIRECTIVE));
                importKeys.removeAll(exportDescription.getMandatory());

                for (String importKey : importKeys)
                {
                    if (exportParameters.containsKey(importKey) && !importParameters.get(importKey).equals(exportParameters.get(importKey))) return false;
                }

                for (String mandatoryExportKey : exportDescription.getMandatory())
                {
                    if (!importParameters.containsKey(mandatoryExportKey)) return false;

                    if (!exportParameters.get(mandatoryExportKey).equals(importParameters.get(mandatoryExportKey))) return false;
                }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.