public static APIConfiguration getDefaultConfigurationProperties(DataProvider dataProvider, ConnectorInfoManager manager) throws ObjectNotFoundException { String bundleName = (String) dataProvider.getTestSuiteAttribute("bundleName"); String bundleVersion = (String) dataProvider.getTestSuiteAttribute("bundleVersion"); String connectorName = (String) dataProvider.getTestSuiteAttribute("connectorName"); ConnectorKey key = new ConnectorKey(bundleName, bundleVersion, connectorName); ConnectorInfo info = manager.findConnectorInfo(key); final String MSG = "Connector info wasn't found. Check values of bundleName, bundleVersion and connectorName properties." + "\nbundleName:%s\nbundleVersion:%s\nconnectorName:%s"; Assert.assertNotNull(String.format(MSG, bundleName, bundleVersion, connectorName), info); APIConfiguration apiConfig = info.createDefaultAPIConfiguration(); return apiConfig; }
return entry; }).forEachOrdered(entry -> { entry.getValue().getConnectorInfos().forEach(connInfo -> { LOG.debug("\t{}", connInfo.getConnectorDisplayName()); });
public static APIConfiguration getDefaultConfigurationProperties(DataProvider dataProvider, ConnectorInfoManager manager) throws ObjectNotFoundException { String bundleName = (String) dataProvider.getTestSuiteAttribute("bundleName"); String bundleVersion = (String) dataProvider.getTestSuiteAttribute("bundleVersion"); String connectorName = (String) dataProvider.getTestSuiteAttribute("connectorName"); ConnectorKey key = new ConnectorKey(bundleName, bundleVersion, connectorName); ConnectorInfo info = manager.findConnectorInfo(key); final String MSG = "Connector info wasn't found. Check values of bundleName, bundleVersion and connectorName properties." + "\nbundleName:%s\nbundleVersion:%s\nconnectorName:%s"; assertNotNull(String.format(MSG, bundleName, bundleVersion, connectorName), info); APIConfiguration apiConfig = info.createDefaultAPIConfiguration(); return apiConfig; }
private HelloResponse processHelloRequest(HelloRequest request) { List<RemoteConnectorInfoImpl> connectorInfo; Exception exception = null; try { ConnectorInfoManager manager = getConnectorInfoManager(); List<ConnectorInfo> localInfos = manager.getConnectorInfos(); connectorInfo = new ArrayList<RemoteConnectorInfoImpl>(); for (ConnectorInfo localInfo : localInfos) { LocalConnectorInfoImpl localInfoImpl = (LocalConnectorInfoImpl)localInfo; RemoteConnectorInfoImpl remoteInfo = localInfoImpl.toRemote(); connectorInfo.add(remoteInfo); } } catch (Exception e) { exception = e; connectorInfo = null; } return new HelloResponse(exception,connectorInfo); }
public static APIConfiguration getDefaultConfigurationProperties(DataProvider dataProvider, ConnectorInfoManager manager) throws ObjectNotFoundException { String bundleName = (String) dataProvider.getTestSuiteAttribute("bundleName"); String bundleVersion = (String) dataProvider.getTestSuiteAttribute("bundleVersion"); String connectorName = (String) dataProvider.getTestSuiteAttribute("connectorName"); ConnectorKey key = new ConnectorKey(bundleName, bundleVersion, connectorName); ConnectorInfo info = manager.findConnectorInfo(key); final String MSG = "Connector info wasn't found. Check values of bundleName, bundleVersion and connectorName properties." + "\nbundleName:%s\nbundleVersion:%s\nconnectorName:%s"; assertNotNull(info, String.format(MSG, bundleName, bundleVersion, connectorName)); APIConfiguration apiConfig = info.createDefaultAPIConfiguration(); return apiConfig; }
private Set<ConnectorType> listRemoteConnectors(ConnectorHostType host) { ConnectorInfoManager remoteConnectorInfoManager = getRemoteConnectorInfoManager(host); Set<ConnectorType> connectorTypes = new HashSet<>(); List<ConnectorInfo> connectorInfos = remoteConnectorInfoManager.getConnectorInfos(); for (ConnectorInfo connectorInfo : connectorInfos) { try { ConnectorType connectorType = convertToConnectorType(connectorInfo, host); connectorTypes.add(connectorType); } catch (SchemaException e) { LOGGER.error("Schema error while initializing ConnId connector {}: {}", getConnctorDesc(connectorInfo), e.getMessage(), e); } } return connectorTypes; }
/** * Get contect informations * * @param connectorType * @return * @throws ObjectNotFoundException */ private ConnectorInfo getConnectorInfo(ConnectorType connectorType) throws ObjectNotFoundException { if (!SchemaConstants.ICF_FRAMEWORK_URI.equals(connectorType.getFramework())) { throw new ObjectNotFoundException("Requested connector for framework " + connectorType.getFramework() + " cannot be found in framework " + SchemaConstants.ICF_FRAMEWORK_URI); } ConnectorKey key = getConnectorKey(connectorType); if (connectorType.getConnectorHost() == null && connectorType.getConnectorHostRef() == null) { // Local connector return getLocalConnectorInfoManager().findConnectorInfo(key); } ConnectorHostType host = connectorType.getConnectorHost(); if (host == null) { throw new ObjectNotFoundException( "Attempt to use remote connector without ConnectorHostType resolved (there is only ConnectorHostRef"); } return getRemoteConnectorInfoManager(host).findConnectorInfo(key); }
private Set<ConnectorType> listLocalConnectors() { if (localConnectorTypes == null) { // Lazy initialize connector list localConnectorTypes = new HashSet<>(); // Fetch list of local connectors from ICF List<ConnectorInfo> connectorInfos = getLocalConnectorInfoManager().getConnectorInfos(); for (ConnectorInfo connectorInfo : connectorInfos) { ConnectorType connectorType; try { connectorType = convertToConnectorType(connectorInfo, null); localConnectorTypes.add(connectorType); } catch (SchemaException e) { LOGGER.error("Schema error while initializing ConnId connector {}: {}", getConnctorDesc(connectorInfo), e.getMessage(), e); } } } return localConnectorTypes; }
@Override public Pair<URI, ConnectorInfo> getConnectorInfo(final ConnInstance connInstance) { // check ConnIdLocation URI uriLocation = null; try { uriLocation = URIUtils.buildForConnId(connInstance.getLocation()); } catch (Exception e) { throw new IllegalArgumentException("Invalid ConnId location " + connInstance.getLocation(), e); } // create key for search all properties ConnectorKey key = new ConnectorKey( connInstance.getBundleName(), connInstance.getVersion(), connInstance.getConnectorName()); if (LOG.isDebugEnabled()) { LOG.debug("\nBundle name: " + key.getBundleName() + "\nBundle version: " + key.getBundleVersion() + "\nBundle class: " + key.getConnectorName()); } // get the specified connector ConnectorInfo info = null; if (getConnManagers().containsKey(uriLocation)) { info = getConnManagers().get(uriLocation).findConnectorInfo(key); } if (info == null) { throw new NotFoundException("ConnectorInfo for location " + connInstance.getLocation() + " and key " + key); } return Pair.of(uriLocation, info); }
@PreAuthorize("hasRole('" + StandardEntitlement.CONNECTOR_READ + "')") @Transactional(readOnly = true) public List<ConnBundleTO> getBundles(final String lang) { if (StringUtils.isBlank(lang)) { CurrentLocale.set(Locale.ENGLISH); } else { CurrentLocale.set(new Locale(lang)); } List<ConnBundleTO> connectorBundleTOs = new ArrayList<>(); connIdBundleManager.getConnInfoManagers().forEach((uri, cim) -> { connectorBundleTOs.addAll(cim.getConnectorInfos().stream().map(bundle -> { ConnBundleTO connBundleTO = new ConnBundleTO(); connBundleTO.setDisplayName(bundle.getConnectorDisplayName()); connBundleTO.setLocation(uri.toString()); ConnectorKey key = bundle.getConnectorKey(); connBundleTO.setBundleName(key.getBundleName()); connBundleTO.setConnectorName(key.getConnectorName()); connBundleTO.setVersion(key.getBundleVersion()); ConfigurationProperties properties = connIdBundleManager.getConfigurationProperties(bundle); connBundleTO.getProperties().addAll(properties.getPropertyNames().stream(). map(propName -> binder.build(properties.getProperty(propName))).collect(Collectors.toList())); return connBundleTO; }).collect(Collectors.toList())); }); return connectorBundleTOs; }
private APIOperation getAPIOperation(OperationRequest request) throws Exception { ConnectorInfoManager manager = getConnectorInfoManager(); ConnectorInfo info = manager.findConnectorInfo(request.getConnectorKey()); if (info == null) { throw new ConnectorException("No such connector: " + request.getConnectorKey() + " "); } String connectorFacadeKey = request.getConnectorFacadeKey(); ConnectorFacade facade = ConnectorFacadeFactory.getManagedInstance().newInstance(info, connectorFacadeKey); return facade.getOperation(request.getOperation()); }
List<ConnectorInfo> localInfos = manager.getConnectorInfos(); connectorKeys = new ArrayList<ConnectorKey>(); for (ConnectorInfo localInfo : localInfos) {
private APIOperation getAPIOperation(OperationRequest request) throws Exception { ConnectorInfoManager manager = getConnectorInfoManager(); ConnectorInfo info = manager.findConnectorInfo(request.getConnectorKey()); if (info == null) { throw new ConnectorException("No such connector: " + request.getConnectorKey() + " "); } String connectorFacadeKey = request.getConnectorFacadeKey(); ConnectorFacade facade = ConnectorFacadeFactory.getManagedInstance().newInstance(info, connectorFacadeKey); return facade.getOperation(request.getOperation()); }
List<ConnectorInfo> localInfos = manager.getConnectorInfos(); connectorKeys = new ArrayList<ConnectorKey>(); for (ConnectorInfo localInfo : localInfos) {
private APIOperation getAPIOperation(OperationRequest request) throws Exception { ConnectorInfoManager manager = getConnectorInfoManager(); ConnectorInfo info = manager.findConnectorInfo( request.getConnectorKey()); if ( info == null ) { throw new ConnectorException("No such connector: " +request.getConnectorKey()+" "); } APIConfigurationImpl config = request.getConfiguration(); //re-wire the configuration with its connector info config.setConnectorInfo((AbstractConnectorInfo)info); ConnectorFacade facade = ConnectorFacadeFactory.getInstance().newInstance(config); return facade.getOperation(request.getOperation()); }
/** * Test if bundle internal configuration and dependencies are OK * @param bundleUrl * tested bundle URL * @return true if OK */ private Boolean isThisBundleCompatible(URL bundleUrl) { if (null == bundleUrl) return false; try { ConnectorInfoManager localManager = ConnectorInfoManagerFactory.getInstance().getLocalManager(bundleUrl); List<ConnectorInfo> connectorInfos = localManager.getConnectorInfos(); if (connectorInfos == null || connectorInfos.isEmpty()) { LOGGER.error("Strange error happened. ConnId is not accepting bundle {}. But no error is indicated.", bundleUrl); return false; } else { LOGGER.trace("Found {} compatible connectors in bundle {}", connectorInfos.size(), bundleUrl); return true; } } catch (Exception ex) { if (LOGGER.isDebugEnabled()) { LOGGER.error("Error instantiating ICF bundle using URL '{}': {}-{}", new Object[] { bundleUrl, ex.getMessage(), ex}); } else { LOGGER.error("Error instantiating ICF bundle using URL '{}': {}", new Object[] { bundleUrl, ex.getMessage()}); } return false; } }