/** * Store the resource definitions in our namespace. * CFD and AODD are not valid in an AppClient. O/w need to validate the ra-name in them. */ private void parseResources(ResourceDescriptor resourceDescriptor, JndiNameEnvironment env, AppResources appResources) { JavaEEResourceType type = resourceDescriptor.getResourceType(); if (type.equals(JavaEEResourceType.CFD) || type.equals(JavaEEResourceType.AODD)) { if (env instanceof ApplicationClientDescriptor) return; // No need to type check as CFD and AODD extend from AbstractConnectorResourceDescriptor AbstractConnectorResourceDescriptor acrd = (AbstractConnectorResourceDescriptor) resourceDescriptor; appResources.store(new AppResource(resourceDescriptor.getName(), acrd.getResourceAdapter(), type.toString(), env, true)); } else { // nothing to validate here. store the definitions in our namespace. storeInNamespace(resourceDescriptor.getName(), env, appResources); } }
/** * This method returns all valid descriptor for given class. USes 'invalidResourceTypeScopes' to validate the * scope for givneClazz * @param givenClazz - Class which is either AppClientDescriptor, Application etc. * @return */ public Set<ResourceDescriptor> getAllResourcesDescriptors(Class givenClazz) { Set<ResourceDescriptor> allResourceDescriptors = new HashSet<ResourceDescriptor>(); for(JavaEEResourceType javaEEResourceType: JavaEEResourceType.values()) { Set<Class> invalidClassSet = invalidResourceTypeScopes.get(javaEEResourceType); if(invalidClassSet!=null && invalidClassSet.size()>0) { for(Class invalidClass: invalidClassSet) { if(!invalidClass.isAssignableFrom(givenClazz)) { allResourceDescriptors.addAll(this.getResourceDescriptors(javaEEResourceType)); } } } else if(invalidClassSet!=null) { allResourceDescriptors.addAll(this.getResourceDescriptors(javaEEResourceType)); } } return allResourceDescriptors; }
@Override public void addResourceDescriptor(ResourceDescriptor descriptor) { if(descriptor.getResourceType().equals(JavaEEResourceType.CFD)){ throw new UnsupportedOperationException(localStrings.getLocalString( "enterprise.deployment.exceptionappclientnotsupportconnectionfactorydefinition", "The application client [{0}] do not support connection factory definitions", new Object[] {getName()})); } else if (descriptor.getResourceType().equals(JavaEEResourceType.AODD)) { throw new UnsupportedOperationException(localStrings.getLocalString( "enterprise.deployment.exceptionappclientnotsupportadministeredobjectdefinition", "The application client [{0}] do not support administered object definitions", new Object[] {getName()})); } else { super.addResourceDescriptor(descriptor); } }
@Override public void removeResourceDescriptor(ResourceDescriptor descriptor) { if(descriptor.getResourceType().equals(JavaEEResourceType.CFD)){ throw new UnsupportedOperationException(localStrings.getLocalString( "enterprise.deployment.exceptionappclientnotsupportconnectionfactorydefinition", "The application client [{0}] do not support connection factory definitions", new Object[] {getName()})); } else if (descriptor.getResourceType().equals(JavaEEResourceType.AODD)) { throw new UnsupportedOperationException(localStrings.getLocalString( "enterprise.deployment.exceptionappclientnotsupportadministeredobjectdefinition", "The application client [{0}] do not support administered object definitions", new Object[] {getName()})); } else { super.removeResourceDescriptor(descriptor); } } }
ResourceDescriptor descriptor = descriptorIterator.next(); if(descriptor.getResourceType().equals(JavaEEResourceType.DSD)) { DataSourceDefinitionDescriptor next = (DataSourceDefinitionDescriptor)descriptor; dataSourceDefinitionNode.writeDescriptor(parentNode, TagNames.DATA_SOURCE, next); } else if(descriptor.getResourceType().equals(JavaEEResourceType.MSD)) { MailSessionDescriptor next = (MailSessionDescriptor)descriptor; mailSessionNode.writeDescriptor(parentNode, TagNames.MAIL_SESSION, next); } else if(descriptor.getResourceType().equals(JavaEEResourceType.CFD)) { ConnectionFactoryDefinitionDescriptor next = (ConnectionFactoryDefinitionDescriptor)descriptor; connectionFactoryDefinitionNode.writeDescriptor(parentNode, TagNames.CONNECTION_FACTORY, next); } else if(descriptor.getResourceType().equals(JavaEEResourceType.AODD)) { AdministeredObjectDefinitionDescriptor next = (AdministeredObjectDefinitionDescriptor)descriptor; administeredObjectDefinitionNode.writeDescriptor(parentNode, TagNames.ADMINISTERED_OBJECT, next); } else if(descriptor.getResourceType().equals(JavaEEResourceType.JMSCFDD)) { JMSConnectionFactoryDefinitionDescriptor next = (JMSConnectionFactoryDefinitionDescriptor)descriptor; jmsConnectionFactoryDefinitionNode.writeDescriptor(parentNode, TagNames.JMS_CONNECTION_FACTORY, next); } else if(descriptor.getResourceType().equals(JavaEEResourceType.JMSDD)) { JMSDestinationDefinitionDescriptor next = (JMSDestinationDefinitionDescriptor)descriptor; jmsDestinationDefinitionNode.writeDescriptor(parentNode, TagNames.JMS_DESTINATION, next);
if(descriptor.getResourceType().equals(DSD)) { if (descriptor instanceof DataSourceDefinitionDescriptor && ((DataSourceDefinitionDescriptor)descriptor).isDeployed()) { if(descriptor.getResourceType().equals(JavaEEResourceType.JMSCFDD)) { CommonResourceProxy jmscfProxy = locator.getService(JMSCFResourcePMProxy.class); jmscfProxy.setDescriptor(descriptor);