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());
}