public static PrismContainerDefinition<ConnectorConfigurationType> findConfigurationContainerDefinition(ConnectorType connectorType, PrismSchema connectorSchema) { QName configContainerQName = new QName(connectorType.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); return connectorSchema.findContainerDefinitionByElementName(configContainerQName); }
private PrismContainerDefinition<?> getConfigurationContainerDefinition() throws SchemaException { QName configContainerQName = new QName(connectorType.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition<?> configContainerDef = connectorSchema .findContainerDefinitionByElementName(configContainerQName); if (configContainerDef == null) { throw new SchemaException("No definition of container " + configContainerQName + " in configuration schema for connector " + this); } return configContainerDef; }
protected PrismContainerDefinition<?> getConfigurationContainerDefinition() throws SchemaException { QName configContainerQName = new QName(getConnectorObject().getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition<?> configContainerDef = getConnectorConfigurationSchema() .findContainerDefinitionByElementName(configContainerQName); if (configContainerDef == null) { throw new SchemaException("No definition of container " + configContainerQName + " in configuration schema for connector " + this); } return configContainerDef; }
/** * Returns parsed connector schema */ public static PrismSchema parseConnectorSchema(ConnectorType connectorType, PrismContext prismContext) throws SchemaException { Element connectorSchemaElement = ConnectorTypeUtil.getConnectorXsdSchema(connectorType); if (connectorSchemaElement == null) { return null; } PrismSchema connectorSchema = PrismSchemaImpl.parse(connectorSchemaElement, true, "schema for " + connectorType, prismContext); // Make sure that the config container definition has a correct compile-time class name QName configContainerQName = new QName(connectorType.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition<ConnectorConfigurationType> configurationContainerDefinition = connectorSchema.findContainerDefinitionByElementName(configContainerQName); configurationContainerDefinition.toMutable().setCompileTimeClass(ConnectorConfigurationType.class); return connectorSchema; }
private PrismSchema generateConnectorConfigurationSchema(ConnectorStruct struct) { Class<? extends ConnectorInstance> connectorClass = struct.connectorClass; PropertyDescriptor connectorConfigurationProp = UcfUtil.findAnnotatedProperty(connectorClass, ManagedConnectorConfiguration.class); MutablePrismSchema connectorSchema = prismContext.schemaFactory().createPrismSchema(struct.connectorObject.getNamespace()); // Create configuration type - the type used by the "configuration" element MutablePrismContainerDefinition<?> configurationContainerDef = connectorSchema.createPropertyContainerDefinition( ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart(), SchemaConstants.CONNECTOR_SCHEMA_CONFIGURATION_TYPE_LOCAL_NAME); Class<?> configurationClass = connectorConfigurationProp.getPropertyType(); BeanWrapper configurationClassBean = new BeanWrapperImpl(configurationClass); for (PropertyDescriptor prop: configurationClassBean.getPropertyDescriptors()) { if (!UcfUtil.hasAnnotation(prop, ConfigurationProperty.class)) { continue; } ItemDefinition<?> itemDef = createPropertyDefinition(configurationContainerDef, prop); LOGGER.trace("Configuration item definition for {}: {}", prop.getName(), itemDef); } return connectorSchema; }
String connectorConfNs = connectorType.getNamespace();
new QName(dbConnector.asObjectable().getNamespace(), "configurationProperties")); Object passwordElement = JAXBUtil.findElement(JAXBUtil.listChildElements(configurationPropertiesElement), new QName(dbConnector.asObjectable().getNamespace(), "password")); System.out.println("Password element: " + passwordElement); new QName("configurationProperties"))) .getValue(); PrismProperty password = configurationProperties.findProperty(new ItemName(dbConnector.asObjectable().getNamespace(), "password")); System.out.println("Password property: " + password);
MutablePrismSchema connectorSchema = prismContext.schemaFactory().createPrismSchema(connectorType.getNamespace()); connectorType.getNamespace(), ConnectorFactoryConnIdImpl.CONNECTOR_SCHEMA_CONFIGURATION_PROPERTIES_TYPE_LOCAL_NAME));
return; QName configContainerQName = new QName(connectorType.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition<ConnectorConfigurationType> configContainerDef = connectorSchema.findContainerDefinitionByElementName(configContainerQName);
QName configurationElementQname = new QName(conn.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition configurationContainer = schema .findContainerDefinitionByElementName(configurationElementQname);
return; QName configContainerQName = new QName(connectorType.getNamespace(), ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart()); PrismContainerDefinition<ConnectorConfigurationType> configContainerDef = connectorSchema.findContainerDefinitionByElementName(configContainerQName); if (configContainerDef == null) {
PrismAsserts.assertEqualsPolyString("Wrong connector name.", "ICF org.identityconnectors.databasetable.DatabaseTableConnector", connector.getName()); assertEquals(CONNECTOR_NAMESPACE, connector.getNamespace()); assertEquals("org.identityconnectors.databasetable.DatabaseTableConnector", connector.getConnectorType());