/** * check whether the <i>required-work-context</i> list mandated by the resource-adapter * is supported by the application server * @param desc ConnectorDescriptor * @throws ConnectorRuntimeException when unable to support any of the requested work-context type. */ private void validateWorkContextSupport(ConnectorDescriptor desc) throws ConnectorRuntimeException { Set workContexts = desc.getRequiredWorkContexts(); Iterator workContextsIterator = workContexts.iterator(); WorkContextHandler workContextHandler = connectorRuntime_.getWorkContextHandler(); workContextHandler.init(moduleName_, jcl_); while(workContextsIterator.hasNext()){ String ic = (String)workContextsIterator.next(); boolean supported = workContextHandler.isContextSupported(true, ic ); if(!supported){ String errorMsg = "Unsupported work context [ "+ ic + " ] "; Object params[] = new Object[]{ic, desc.getName()}; _logger.log(Level.WARNING,"unsupported.work.context", params); throw new ConnectorRuntimeException(errorMsg); } } }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, ConnectorDescriptor conDesc) { conDesc.setSpecVersion(VERSION_17); Node connectorNode = super.writeDescriptor(parent, conDesc); appendTextChild(connectorNode, ConnectorTagNames.VENDOR_NAME, conDesc.getVendorName()); appendTextChild(connectorNode, ConnectorTagNames.EIS_TYPE, conDesc.getEisType()); appendTextChild(connectorNode, ConnectorTagNames.RESOURCEADAPTER_VERSION, conDesc.getResourceAdapterVersion()); Iterator requiredInflowContexts = conDesc.getRequiredWorkContexts().iterator(); for (; requiredInflowContexts.hasNext();) { String className = (String) requiredInflowContexts.next(); appendTextChild(connectorNode, ConnectorTagNames.REQUIRED_WORK_CONTEXT, className); } //license info LicenseNode licenseNode = new LicenseNode(); connectorNode = licenseNode.writeDescriptor(connectorNode, conDesc); // resource adapter node RANode raNode = new RANode(); connectorNode = raNode.writeDescriptor(connectorNode, conDesc); return connectorNode; }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor(Node parent, ConnectorDescriptor conDesc) { conDesc.setSpecVersion(VERSION_15); Node connectorNode = super.writeDescriptor(parent, conDesc); appendTextChild(connectorNode, ConnectorTagNames.VENDOR_NAME, conDesc.getVendorName()); appendTextChild(connectorNode, ConnectorTagNames.EIS_TYPE, conDesc.getEisType()); appendTextChild(connectorNode, ConnectorTagNames.RESOURCEADAPTER_VERSION, conDesc.getResourceAdapterVersion()); Iterator requiredInflowContexts = conDesc.getRequiredWorkContexts().iterator(); for (; requiredInflowContexts.hasNext();) { String className = (String) requiredInflowContexts.next(); appendTextChild(connectorNode, ConnectorTagNames.REQUIRED_WORK_CONTEXT, className); } //license info LicenseNode licenseNode = new LicenseNode(); connectorNode = licenseNode.writeDescriptor(connectorNode, conDesc); // resource adapter node RANode raNode = new RANode(); connectorNode = raNode.writeDescriptor(connectorNode, conDesc); return connectorNode; }