Search in sources :

Example 6 with Module

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()));
                    }
                }
            }
        }
    }
}
Also used : Module(com.sun.enterprise.config.serverbeans.Module) ResourceTypeOrderProcessor(org.glassfish.resourcebase.resources.ResourceTypeOrderProcessor)

Example 7 with Module

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());
                }
            }
        }
    }
}
Also used : Module(com.sun.enterprise.config.serverbeans.Module)

Example 8 with Module

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);
                }
            }
        }
    }
}
Also used : ApplicationInfo(org.glassfish.internal.data.ApplicationInfo) Module(com.sun.enterprise.config.serverbeans.Module)

Example 9 with Module

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);
                    }
                }
            }
        }
    }
}
Also used : Resource(com.sun.enterprise.config.serverbeans.Resource) Resource(org.glassfish.resources.api.Resource) Module(com.sun.enterprise.config.serverbeans.Module)

Example 10 with Module

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.
    }
}
Also used : Resource(com.sun.enterprise.config.serverbeans.Resource) Resource(org.glassfish.resources.api.Resource) Module(com.sun.enterprise.config.serverbeans.Module)

Aggregations

Module (com.sun.enterprise.config.serverbeans.Module)42 Application (com.sun.enterprise.config.serverbeans.Application)11 ActionReport (org.glassfish.api.ActionReport)9 PropertyVetoException (java.beans.PropertyVetoException)5 Engine (com.sun.enterprise.config.serverbeans.Engine)3 Resource (com.sun.enterprise.config.serverbeans.Resource)3 Resources (com.sun.enterprise.config.serverbeans.Resources)3 ArrayList (java.util.ArrayList)3 Property (org.jvnet.hk2.config.types.Property)3 Server (com.sun.enterprise.config.serverbeans.Server)2 ConnectorApplication (com.sun.enterprise.connectors.module.ConnectorApplication)2 IOException (java.io.IOException)2 HashMap (java.util.HashMap)2 ConnectorResource (org.glassfish.connectors.config.ConnectorResource)2 WorkSecurityMap (org.glassfish.connectors.config.WorkSecurityMap)2 ApplicationInfo (org.glassfish.internal.data.ApplicationInfo)2 Resource (org.glassfish.resources.api.Resource)2 ConnectorRuntimeException (com.sun.appserv.connectors.internal.api.ConnectorRuntimeException)1 RemoteRestAdminCommand (com.sun.enterprise.admin.remote.RemoteRestAdminCommand)1 ServerRemoteRestAdminCommand (com.sun.enterprise.admin.remote.ServerRemoteRestAdminCommand)1