public String getNamespace() { return ResourceTypeUtil.getResourceNamespace(resource); }
@Override public <T extends CapabilityType> T getEffectiveCapability(Class<T> capabilityClass, ResourceType resourceType) { return ResourceTypeUtil.getEffectiveCapability(resourceType, schemaHandlingObjectTypeDefinitionType, capabilityClass); }
public static void assertNoSchema(String message, ResourceType resourceType) { Element resourceXsdSchema = ResourceTypeUtil.getResourceXsdSchema(resourceType); AssertJUnit.assertNull(message, resourceXsdSchema); }
public static ResourceSchema getResourceSchema(PrismObject<ResourceType> resource, PrismContext prismContext) throws SchemaException { Element resourceXsdSchema = ResourceTypeUtil.getResourceXsdSchema(resource); if (resourceXsdSchema == null) { return null; } Object userDataEntry = resource.getUserData(USER_DATA_KEY_PARSED_RESOURCE_SCHEMA); if (userDataEntry != null) { if (userDataEntry instanceof ResourceSchema) { return (ResourceSchema)userDataEntry; } else { throw new IllegalStateException("Expected ResourceSchema under user data key "+ USER_DATA_KEY_PARSED_RESOURCE_SCHEMA+ "in "+resource+", but got "+userDataEntry.getClass()); } } else { InternalMonitor.recordCount(InternalCounters.RESOURCE_SCHEMA_PARSE_COUNT); ResourceSchemaImpl parsedSchema = ResourceSchemaImpl.parse(resourceXsdSchema, "resource schema of "+resource, prismContext); if (parsedSchema == null) { throw new IllegalStateException("Parsed schema is null: most likely an internall error"); } resource.setUserData(USER_DATA_KEY_PARSED_RESOURCE_SCHEMA, parsedSchema); parsedSchema.setNamespace(ResourceTypeUtil.getResourceNamespace(resource)); return parsedSchema; } }
List<Object> effectiveCapabilities = ResourceTypeUtil.getEffectiveCapabilities(resourceType); for (Object capability : effectiveCapabilities) { System.out.println("Efective Capability: "+CapabilityUtil.getCapabilityDisplayName(capability)+" : "+capability); ResourceTypeUtil.getEffectiveCapability(resourceType, CredentialsCapabilityType.class)); assertNotNull("No activation effective capability", ResourceTypeUtil.getEffectiveCapability(resourceType, ActivationCapabilityType.class)); assertNull("Unexpected liveSync effective capability", ResourceTypeUtil.getEffectiveCapability(resourceType, LiveSyncCapabilityType.class));
ResourceType resourceType = resource.asObjectable(); resourceType.setName(PrismTestUtil.createPolyStringType("Prism With Dynamic Schemas Test")); ResourceTypeUtil.setResourceXsdSchema(resource, DOMUtil.getFirstChildElement(xsd)); System.out.println(unmarshalledResource.debugDump()); Element unXsd = ResourceTypeUtil.getResourceXsdSchema(unmarshalledResource);
/** * Assumes that native capabilities are already cached. */ public static List<Object> getAllCapabilities(ResourceType resource) throws SchemaException { return getEffectiveCapabilities(resource, true); }
public static PrismContainer<ConnectorConfigurationType> getConfigurationContainer(ResourceType resourceType) { return getConfigurationContainer(resourceType.asPrismObject()); }
ConnectorType connectorType = connector.asObjectable(); assertNotNull(connectorType); Element resourceXsdSchemaElementBefore = ResourceTypeUtil.getResourceXsdSchema(resourceTypeBefore); AssertJUnit.assertNull("Found schema before test connection. Bad test setup?", resourceXsdSchemaElementBefore); Element resourceXsdSchemaElementAfter = ResourceTypeUtil.getResourceXsdSchema(resourceTypeRepoAfter); assertNotNull("No schema after test connection", resourceXsdSchemaElementAfter); assertNotNull("No serialNumber",cachingMetadata.getSerialNumber()); Element xsdElement = ResourceTypeUtil.getResourceXsdSchema(resourceTypeRepoAfter); ResourceSchema parsedSchema = ResourceSchemaImpl.parse(xsdElement, resourceTypeRepoAfter.toString(), prismContext); assertNotNull("No schema after parsing",parsedSchema); new QName(SchemaConstants.NS_ICF_SCHEMA,"password"))); assertNull("The userPassword attribute sneaked into schema", inetOrgPersonDefinition.findAttributeDefinition( new QName(ResourceTypeUtil.getResourceNamespace(resourceTypeRepoAfter),"userPassword")));
List<Object> effectiveCapabilities = ResourceTypeUtil.getEffectiveCapabilities(resource); for (Object capability : effectiveCapabilities) { System.out.println("Efective Capability: " + CapabilityUtil.getCapabilityDisplayName(capability) + " : " + capability); assertNull("Found activation capability while not expecting it", capAct); capCred = ResourceTypeUtil.getEffectiveCapability(resource, CredentialsCapabilityType.class); assertNotNull("password capability not found", capCred.getPassword()); capAct = ResourceTypeUtil.getEffectiveCapability(resource, ActivationCapabilityType.class); assertNotNull("activation capability not found", capAct);
/** * Assumes that native capabilities are already cached. */ public static List<Object> getEffectiveCapabilities(ResourceType resource) throws SchemaException { return getEffectiveCapabilities(resource, false); }
PrismContainer<ConnectorConfigurationType> configurationContainer = ResourceTypeUtil.getConfigurationContainer(resourceType); if (configurationContainer == null || configurationContainer.isEmpty()) {
protected QName getAttributeQName(PrismObject<ResourceType> resource, String attributeLocalName) { String resourceNamespace = ResourceTypeUtil.getResourceNamespace(resource); return new QName(resourceNamespace, attributeLocalName); }
public static <T extends CapabilityType> boolean hasEffectiveCapability(ResourceType resource, Class<T> capabilityClass) { return getEffectiveCapability(resource, capabilityClass) != null; }
public ResourceAsserter<RA> assertHasSchema() { Element schemaElement = ResourceTypeUtil.getResourceXsdSchema(getObject()); assertNotNull("No schema in "+desc(), schemaElement); return this; }
List<Object> effectiveCapabilities = ResourceTypeUtil.getEffectiveCapabilities(resource); for (Object capability : effectiveCapabilities) { System.out.println("Capability: "+CapabilityUtil.getCapabilityDisplayName(capability)+" : "+capability); capCred = ResourceTypeUtil.getEffectiveCapability(resource, CredentialsCapabilityType.class); assertNotNull("credentials effective capability not found",capCred); assertNotNull("password effective capability not found",capCred.getPassword()); capAct = ResourceTypeUtil.getEffectiveCapability(resource, ActivationCapabilityType.class); assertNotNull("activation capability not found",capAct); PagedSearchCapabilityType capPage = ResourceTypeUtil.getEffectiveCapability(resource, PagedSearchCapabilityType.class); assertNotNull("paged search capability not present", capPage);
@Test public void test006Capabilities() throws Exception { final String TEST_NAME = "test006Capabilities"; TestUtil.displayTestTitle(TEST_NAME); // GIVEN OperationResult result = new OperationResult(TestOpenDj.class.getName()+"."+TEST_NAME); // WHEN ResourceType resource = provisioningService.getObject(ResourceType.class, getResourceOid(), null, null, result).asObjectable(); // THEN display("Resource from provisioninig", resource); display("Resource from provisioninig (XML)", PrismTestUtil.serializeObjectToString(resource.asPrismObject(), PrismContext.LANG_XML)); CapabilityCollectionType nativeCapabilities = resource.getCapabilities().getNative(); List<Object> nativeCapabilitiesList = nativeCapabilities.getAny(); assertFalse("Empty capabilities returned",nativeCapabilitiesList.isEmpty()); // Connector cannot do activation, this should be null ActivationCapabilityType capAct = CapabilityUtil.getCapability(nativeCapabilitiesList, ActivationCapabilityType.class); assertNull("Found activation capability while not expecting it" ,capAct); ScriptCapabilityType capScript = CapabilityUtil.getCapability(nativeCapabilitiesList, ScriptCapabilityType.class); assertNotNull("No script capability", capScript); List<Host> scriptHosts = capScript.getHost(); assertEquals("Wrong number of script hosts", 2, scriptHosts.size()); assertScriptHost(capScript, ProvisioningScriptHostType.CONNECTOR); assertScriptHost(capScript, ProvisioningScriptHostType.RESOURCE); List<Object> effectiveCapabilities = ResourceTypeUtil.getEffectiveCapabilities(resource); for (Object capability : effectiveCapabilities) { System.out.println("Capability: "+CapabilityUtil.getCapabilityDisplayName(capability)+" : "+capability); } }
PrismContainer<ConnectorConfigurationType> configurationContainer = ResourceTypeUtil.getConfigurationContainer(resource); if (configurationContainer == null || configurationContainer.isEmpty()) {
protected <T> void assertAttribute(PrismObject<ResourceType> resource, ShadowType shadow, String attrName, T... expectedValues) { QName attrQname = new QName(ResourceTypeUtil.getResourceNamespace(resource), attrName); assertAttribute(resource, shadow, attrQname, expectedValues); }
public static boolean isCredentialsCapabilityEnabled(ResourceType resource) { return getEffectiveCapability(resource, CredentialsCapabilityType.class) != null; }