use of com.sun.enterprise.config.serverbeans.Module in project Payara by payara.
the class ApplicationScopedResourcesManager method postConstruct.
@Override
public void postConstruct() {
Collection<Application> apps = applications.getApplications();
if (apps != null) {
for (Application app : apps) {
Resources resources = app.getResources();
if (resources != null) {
deployResources(resourceTypeOrderProcessor.getOrderedResources(resources.getResources()));
}
List<Module> modules = app.getModule();
if (modules != null) {
for (Module module : modules) {
Resources moduleResources = module.getResources();
if (moduleResources != null) {
deployResources(new ResourceTypeOrderProcessor().getOrderedResources(moduleResources.getResources()));
}
}
}
}
}
}
use of com.sun.enterprise.config.serverbeans.Module in project Payara by payara.
the class ApplicationScopedResourcesManager method deployResources.
/**
* Deploys resources with a specified application
* @see #deployResources(Collection)
* @param applicationName
*/
public void deployResources(String applicationName) {
Application app = applications.getApplication(applicationName);
if (app != null) {
Resources appScopedResources = app.getResources();
if (appScopedResources != null) {
deployResources(appScopedResources.getResources());
}
List<Module> modules = app.getModule();
if (modules != null) {
for (Module module : modules) {
Resources moduleScopedResources = module.getResources();
if (moduleScopedResources != null) {
deployResources(moduleScopedResources.getResources());
}
}
}
}
}
use of com.sun.enterprise.config.serverbeans.Module in project Payara by payara.
the class ResourcesDeployer method populateResourceConfigInAppInfo.
/**
* During "load()" event (eg: app/app-ref enable, server start),
* populate resource-config in app-info so that it can be used for
* constructing connector-classloader for the application.
* @param dc DeploymentContext
*/
public void populateResourceConfigInAppInfo(DeploymentContext dc) {
String appName = getAppNameFromDeployCmdParams(dc);
Application application = applications.getApplication(appName);
ApplicationInfo appInfo = appRegistry.get(appName);
if (application != null && appInfo != null) {
Resources appScopedResources = application.getResources();
if (appScopedResources != null) {
appInfo.addTransientAppMetaData(ServerTags.APPLICATION, application);
appInfo.addTransientAppMetaData(application.getName() + "-resources", appScopedResources);
}
List<Module> modules = application.getModule();
if (modules != null) {
for (Module module : modules) {
Resources moduleScopedResources = module.getResources();
if (moduleScopedResources != null) {
appInfo.addTransientAppMetaData(module.getName() + "-resources", moduleScopedResources);
}
}
}
}
}
use of com.sun.enterprise.config.serverbeans.Module in project Payara by payara.
the class ResourcesDeployer method createResources.
/**
* @param dc
* @param embedded
* @param deployResources
* @throws ResourceException
*/
public void createResources(DeploymentContext dc, boolean embedded, boolean deployResources) throws ResourceException {
String appName = getAppNameFromDeployCmdParams(dc);
Application app = dc.getTransientAppMetaData(ServerTags.APPLICATION, Application.class);
Map<String, Map<String, List>> resourcesList = (Map<String, Map<String, List>>) dc.getTransientAppMetadata().get(APP_SCOPED_RESOURCES_MAP);
if (resourcesList != null) {
Map<String, List> appLevelResources = resourcesList.get(appName);
if (appLevelResources != null) {
List<org.glassfish.resources.api.Resource> connectorResources = appLevelResources.get(CONNECTOR_RESOURCES);
createAppScopedResources(app, connectorResources, dc, embedded);
List<org.glassfish.resources.api.Resource> nonConnectorResources = appLevelResources.get(NON_CONNECTOR_RESOURCES);
createAppScopedResources(app, nonConnectorResources, dc, embedded);
}
List<Module> modules = app.getModule();
if (modules != null) {
for (Module module : modules) {
String actualModuleName = org.glassfish.resourcebase.resources.util.ResourceUtil.getActualModuleNameWithExtension(module.getName());
// module name will be the same as app name
if (!appName.equals(actualModuleName)) {
Map<String, List> moduleResources = resourcesList.get(actualModuleName);
if (moduleResources != null) {
List<org.glassfish.resources.api.Resource> connectorResources = moduleResources.get(CONNECTOR_RESOURCES);
createModuleScopedResources(app, module, connectorResources, dc, embedded);
List<org.glassfish.resources.api.Resource> nonConnectorResources = moduleResources.get(NON_CONNECTOR_RESOURCES);
createModuleScopedResources(app, module, nonConnectorResources, dc, embedded);
}
}
}
}
}
}
use of com.sun.enterprise.config.serverbeans.Module in project Payara by payara.
the class ResourcesDeployer method validatePreservedResources.
/**
* Validates the old resource configuration against new archive's modules.
* @param allResources all resources (app scoped, module scoped)
* @param oldApp Old Application config
* @param newApp New Applicatoin config
* @throws org.glassfish.resourcebase.resources.api.ResourceConflictException when it is not possible to map any of the resource(s) to
* new application/its modules
*/
private void validatePreservedResources(Map<String, Resources> allResources, Application oldApp, Application newApp) throws ResourceConflictException {
String appName = newApp.getName();
Resources appScopedResources = allResources.get(appName);
if (appScopedResources != null) {
for (Resource resource : appScopedResources.getResources()) {
getResourceDeployer(resource).validatePreservedResource(oldApp, newApp, resource, appScopedResources);
}
}
List<Module> newModules = newApp.getModule();
for (Module newModule : newModules) {
Module oldModule = oldApp.getModule(newModule.getName());
if (oldModule != null) {
Resources oldModuleResources = oldModule.getResources();
if (oldModuleResources != null) {
for (Resource resource : oldModuleResources.getResources()) {
getResourceDeployer(resource).validatePreservedResource(oldApp, newApp, resource, oldModuleResources);
}
}
}
// else its a new module in the archive being redeployed.
}
}
Aggregations