public InputStream openStream()

in core/spi/src/main/java/org/wildfly/swarm/spi/api/JBossDeploymentStructureAsset.java [122:192]


    public InputStream openStream() {
        // Add modules
        DeploymentType<JBossDeploymentStructureDescriptor> deployment;

        if (this.deploymentExclusions.size() > 0 || this.deploymentModules.size() > 0) {
            deployment = this.descriptor.getOrCreateDeployment();

            deployment.getOrCreateDependencies().removeAllModule();
            for (Module deploymentModule : this.deploymentModules) {
                ModuleDependencyType<DependenciesType<DeploymentType<JBossDeploymentStructureDescriptor>>> module =
                        deployment.getOrCreateDependencies()
                                .createModule()
                                .name(deploymentModule.name())
                                .slot(deploymentModule.slot());

                if (deploymentModule.export() != null) {
                    module.export(deploymentModule.export());
                }

                if (deploymentModule.services() != null) {
                    module.services(deploymentModule.services().value());
                }

                if (deploymentModule.optional() != null) {
                    module.optional(deploymentModule.optional());
                }

                if (deploymentModule.metaInf() != null) {
                    module.metaInf(deploymentModule.metaInf());
                }

                if (deploymentModule.importIncludePaths() != null || deploymentModule.importExcludePaths() != null) {
                    FilterType<ModuleDependencyType<DependenciesType<DeploymentType<JBossDeploymentStructureDescriptor>>>> imports = module.getOrCreateImports();

                    for (String importPath : deploymentModule.importIncludePaths()) {
                        imports.createInclude()
                                .path(importPath);
                    }

                    for (String importPath : deploymentModule.importExcludePaths()) {
                        imports.createExclude()
                                .path(importPath);
                    }
                }

                if (deploymentModule.exportIncludePaths() != null || deploymentModule.exportExcludePaths() != null) {
                    FilterType<ModuleDependencyType<DependenciesType<DeploymentType<JBossDeploymentStructureDescriptor>>>> exports = module.getOrCreateExports();

                    for (String exportPath : deploymentModule.exportIncludePaths()) {
                        exports.createInclude()
                                .path(exportPath);
                    }

                    for (String exportPath : deploymentModule.exportExcludePaths()) {
                        exports.createExclude()
                                .path(exportPath);
                    }
                }
            }

            deployment.getOrCreateExclusions().removeAllModule();
            for (Module excludedModule : this.deploymentExclusions) {
                deployment.getOrCreateExclusions()
                        .createModule()
                        .name(excludedModule.name())
                        .slot(excludedModule.slot());
            }
        }

        return new ByteArrayInputStream(this.descriptor.exportAsString().getBytes());
    }