public static String getResourceAdapterClassName (String rarLocation) { //Use the deployment APIs to get the name of the resourceadapter //class through the connector descriptor try { FileInputStream fis = new FileInputStream(rarLocation); MemoryMappedArchive mma = new MemoryMappedArchive(fis); ConnectorArchivist ca = new ConnectorArchivist(); ConnectorDescriptor cd = (ConnectorDescriptor) ca.open(mma); return cd.getResourceAdapterClass(); } catch (IOException e) { _logger.info(e.getMessage()); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Error while trying to read connector" + "descriptor to get resource-adapter properties", e); } } catch (SAXParseException e) { _logger.info(e.getMessage()); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Error while trying to read connector" + "descriptor to get resource-adapter properties", e); } } return null; }
public static boolean processConnector(ConnectorDescriptor desc, ConnectorConfigProperty ep, Class declaringClass) { // make sure that the RA Class considered here is the one specified in descriptor // If not, it will be processed once the @Connector is selected during post-processing // handle the annotation specified on a ResourceAdapter JavaBean // make sure that the property is not already specified in DD if(desc.getResourceAdapterClass().equals(declaringClass.getName())){ if (!(isConfigDefined(desc.getConfigProperties(), ep))) { desc.addConfigProperty(ep); } if(!desc.getConfigPropertyProcessedClasses().contains(declaringClass.getName())){ processParent(declaringClass.getSuperclass(), desc.getConfigProperties()); desc.addConfigPropertyProcessedClass(declaringClass.getName()); } //indicate that the config-property is processed return true; }else{ //indicate that the config-property is not processed and need to be processed during post-processing return false; } }
/** * {@inheritDoc} */ public boolean handles(ConnectorDescriptor cd, String moduleName) { boolean canHandle = false; boolean adminObjectsDefined = false; Set adminObjects = cd.getAdminObjects(); if (adminObjects != null && adminObjects.size() > 0) { adminObjectsDefined = true; } /* this class can handle Connector 1.0 Spec. compliant RAR criteria for 1.0 RAR : * No inbound artifacts * No admin-objects * There should be only one connection-definition * RA Class should not be present (equivalent to "") */ if(!cd.getInBoundDefined() && !adminObjectsDefined && (cd.getOutBoundDefined() && cd.getOutboundResourceAdapter().getConnectionDefs().size() < 2 && "".equals(cd.getResourceAdapterClass())) ){ canHandle = true; } return canHandle; }
String raClass = cd.getResourceAdapterClass();
/** * {@inheritDoc} */ public boolean handles(ConnectorDescriptor cd, String moduleName) { boolean adminObjectsDefined = false; Set adminObjects = cd.getAdminObjects(); if (adminObjects != null && adminObjects.size() > 0) { adminObjectsDefined = true; } /* this class can handle Connector 1.5 Spec. compliant RAR that has no inbound artifacts criteria for 1.5 RAR : * No inbound artifacts * Any one of the following conditions hold true : * -> admin object is defined or * -> resource-adapter-class is defined or * -> more than one connection-definition is defined. */ boolean canHandle = false; if(!cd.getInBoundDefined()){ if(cd.getOutBoundDefined() && cd.getOutboundResourceAdapter().getConnectionDefs().size() > 1){ canHandle = true; }else if (adminObjectsDefined){ canHandle = true; }else if(!cd.getResourceAdapterClass().equals("")){ canHandle = true; } } return canHandle; }
String className = desc.getResourceAdapterClass(); Properties introspectedVals = null; if (className != null && className.length() != 0) {
String raClass = descriptor.getResourceAdapterClass();
ConnectorDescriptor desc = rarContext.getDescriptor(); Class annotatedClass = (Class)element.getAnnotatedElement(); if(desc.getResourceAdapterClass().equals("")){ desc.addConnectorAnnotation(element); return getSuccessfulProcessedResult(list); desc.addConnectorAnnotation(element); return getSuccessfulProcessedResult(list); }else if(!desc.getResourceAdapterClass().equals(annotatedClass.getName())){ desc.addConnectorAnnotation(element); return getSuccessfulProcessedResult(list);
String raClass = desc.getResourceAdapterClass(); if (raClass != null && !raClass.equals("")) { if (!desc.getConfigPropertyProcessedClasses().contains(raClass)) {
/** * Creates connector connection pool pertaining to sun-ra.xml. This is * only for 1.0 complient rars. * * @throws ConnectorRuntimeException Thrown when pool creation fails. */ private void createSunRAConnectionPool() throws ConnectorRuntimeException { String defaultPoolName = connectorRuntime_.getDefaultPoolName( moduleName_, connectionDefs_[0].getConnectionFactoryIntf()); String sunRAPoolName = defaultPoolName + ConnectorConstants.SUN_RA_POOL; PoolInfo poolInfo = new PoolInfo(sunRAPoolName); ConnectorDescriptorInfo connectorDescriptorInfo = ConnectorDDTransformUtils.getConnectorDescriptorInfo(connectionDefs_[0]); connectorDescriptorInfo.setRarName(moduleName_); connectorDescriptorInfo.setResourceAdapterClassName(desc_.getResourceAdapterClass()); ConnectorConnectionPool connectorPoolObj = ConnectionPoolObjectsUtils.createSunRaConnectorPoolObject(poolInfo, desc_, moduleName_); connectorPoolObj.setConnectorDescriptorInfo(connectorDescriptorInfo); connectorRuntime_.createConnectorConnectionPool(connectorPoolObj); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Created SUN-RA connection pool:", poolInfo); } String jndiName = (String) desc_.getSunDescriptor(). getResourceAdapter().getValue(ResourceAdapter.JNDI_NAME); ResourceInfo resourceInfo = new ResourceInfo(jndiName); connectorRuntime_.createConnectorResource(resourceInfo, poolInfo, null); if(_logger.isLoggable(Level.FINE)) { _logger.log(Level.FINE, "Created SUN-RA connector resource : ", resourceInfo); } }
connectorDescInfo.setRarName(moduleName); connectorDescInfo.setResourceAdapterClassName( connectorDescriptor.getResourceAdapterClass());
ConnectorDDTransformUtils.getConnectorDescriptorInfo(descriptor); connectorDescriptorInfo.setRarName(moduleName_); connectorDescriptorInfo.setResourceAdapterClassName(desc_.getResourceAdapterClass()); ConnectorConnectionPool connectorPoolObj;
Node raNode = appendChild(connectorNode, ConnectorTagNames.RESOURCE_ADAPTER); appendTextChild(raNode, ConnectorTagNames.RESOURCE_ADAPTER_CLASS, conDesc.getResourceAdapterClass());
Node raNode = appendChild(connectorNode, ConnectorTagNames.RESOURCE_ADAPTER); appendTextChild(raNode, ConnectorTagNames.RESOURCE_ADAPTER_CLASS, conDesc.getResourceAdapterClass());
cdi.setResourceAdapterClassName(connectorDescriptor.getResourceAdapterClass()); cdi.setConnectionDefinitionName(cdd.getConnectionFactoryIntf()); cdi.setManagedConnectionFactoryClass(cdd.getManagedConnectionFactoryImpl());
connectorDescriptor.getResourceAdapterClass()); cdi.setConnectionDefinitionName(cdd.getConnectionFactoryIntf()); cdi.setManagedConnectionFactoryClass(
connectorDescriptor.getResourceAdapterClass()); cdi.setConnectionDefinitionName(cdd.getConnectionFactoryIntf()); cdi.setManagedConnectionFactoryClass(
if (desc.getResourceAdapterClass().equals("")) { if (isResourceAdapterClass(annotatedClass)) { desc.setResourceAdapterClass(annotatedClass.getName());
private ConnectorDescriptorInfo createConnectorDescriptorInfo( ConnectorDescriptor connDesc, String moduleName) { ConnectorDescriptorInfo connDescInfo = new ConnectorDescriptorInfo(); connDescInfo.setManagedConnectionFactoryClass( connDesc.getOutboundResourceAdapter(). getManagedConnectionFactoryImpl()); connDescInfo.setRarName(moduleName); connDescInfo.setResourceAdapterClassName(connDesc. getResourceAdapterClass()); connDescInfo.setConnectionDefinitionName( connDesc.getOutboundResourceAdapter().getConnectionFactoryIntf()); connDescInfo.setConnectionFactoryClass( connDesc.getOutboundResourceAdapter().getConnectionFactoryImpl()); connDescInfo.setConnectionFactoryInterface( connDesc.getOutboundResourceAdapter().getConnectionFactoryIntf()); connDescInfo.setConnectionClass( connDesc.getOutboundResourceAdapter().getConnectionImpl()); connDescInfo.setConnectionInterface( connDesc.getOutboundResourceAdapter().getConnectionIntf()); return connDescInfo; }