protected void combineDataSourceDefinitionDescriptors(JndiNameEnvironment env) { boolean isFromXml = false; for (DataSourceDefinitionDescriptor ddd : env.getDataSourceDefinitionDescriptors()) { isFromXml = (ddd.getMetadataSource() == MetadataSource.XML); if (isFromXml) { break; } } if (isFromXml) { for (DataSourceDefinitionDescriptor ddd: env.getDataSourceDefinitionDescriptors()) { DataSourceDefinitionDescriptor ddDesc = getDataSourceDefinitionDescriptor(ddd.getName()); if (ddDesc == null) { if (env instanceof WebBundleDescriptor && ((WebBundleDescriptor)env).conflictDataSourceDefinition) { throw new IllegalArgumentException(localStrings.getLocalString( "enterprise.deployment.exceptionconflictdatasourcedefinition", "There are more than one datasource definitions defined in web fragments with the same name, but not overrided in web.xml")); } else { getDataSourceDefinitionDescriptors().add(ddd); } } } } }
@Override protected void combineDataSourceDefinitionDescriptors(JndiNameEnvironment env) { for (DataSourceDefinitionDescriptor ddd: env.getDataSourceDefinitionDescriptors()) { DataSourceDefinitionDescriptor ddDesc = getDataSourceDefinitionDescriptor(ddd.getName()); if (ddDesc != null) { if (ddDesc.isConflict(ddd)) { conflictDataSourceDefinition = true; } } else { getDataSourceDefinitionDescriptors().add(ddd); } } }
private void undeployDataSourceDefinitions(JndiNameEnvironment env) { for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { Collection<ResourceDeployer> resourceDeployers = habitat.getAllByContract(ResourceDeployer.class); try{ if(dsd.isDeployed()){ ResourceDeployer deployer = getResourceDeployer(dsd, resourceDeployers); deployer.undeployResource(dsd); dsd.setDeployed(false); } }catch(Exception e){ _logger.log(Level.WARNING, "unable to undeploy DataSourceDefinition [ " + dsd.getName() + " ] ", e); } } }
private void addDataSourceBindings(JndiNameEnvironment env, ScopeType scope, Collection<JNDIBinding> jndiBindings) { for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { if (!dependencyAppliesToScope(dsd, scope)) { continue; } //the DSD would have been deployed already for JPA's requirements. if (dsd.isDeployed()) { continue; } setResourceId(env, dsd); DataSourceDefinitionProxy proxy = habitat.getComponent(DataSourceDefinitionProxy.class); proxy.setDescriptor(dsd); String logicalJndiName = descriptorToLogicalJndiName(dsd); CompEnvBinding envBinding = new CompEnvBinding(logicalJndiName, proxy); jndiBindings.add(envBinding); //dsd.setDeployed(true); } }
for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { registerDSDReferredByApplication(appName, dsd);
private void unRegisterDataSourceDefinitions(Descriptor descriptor) { if (descriptor instanceof JndiNameEnvironment) { JndiNameEnvironment env = (JndiNameEnvironment) descriptor; for (DataSourceDefinitionDescriptor dsd : env.getDataSourceDefinitionDescriptors()) { unregisterDSDReferredByApplication(dsd);