public static boolean hasResourceConfiguredActivationCapability(ResourceType resource) { if (resource.getCapabilities() == null) { return false; } if (resource.getCapabilities().getConfigured() != null) { ActivationCapabilityType configuredCapability = CapabilityUtil.getCapability(resource.getCapabilities().getConfigured().getAny(), ActivationCapabilityType.class); if (configuredCapability != null) { return true; } // No configured capability entry, fallback to native capability } return false; }
public static <T extends CapabilityType> T getEffectiveCapability(CapabilitiesType capabilitiesType, Class<T> capabilityClass) { if (capabilitiesType == null) { return null; } if (capabilitiesType.getConfigured() != null) { T configuredCapability = CapabilityUtil.getCapability(capabilitiesType.getConfigured().getAny(), capabilityClass); if (configuredCapability != null) { return configuredCapability; } // No configured capability entry, fallback to native capability } if (capabilitiesType.getNative() != null) { T nativeCapability = CapabilityUtil.getCapability(capabilitiesType.getNative().getAny(), capabilityClass); if (nativeCapability != null) { return nativeCapability; } } return null; }
private static List<Object> getEffectiveCapabilities(ResourceType resource, boolean includeDisabled) throws SchemaException { List<Object> rv = new ArrayList<>(); if (resource.getCapabilities() == null) { return rv; } List<Object> configuredCaps = resource.getCapabilities().getConfigured() != null ? resource.getCapabilities().getConfigured().getAny() : Collections.emptyList(); List<Object> nativeCaps = resource.getCapabilities().getNative() != null ? resource.getCapabilities().getNative().getAny() : Collections.emptyList(); for (Object configuredCapability : configuredCaps) { if (includeDisabled || CapabilityUtil.isCapabilityEnabled(configuredCapability)) { rv.add(configuredCapability); } } for (Object nativeCapability: nativeCaps) { if (!CapabilityUtil.containsCapabilityWithSameElementName(configuredCaps, nativeCapability)) { if (includeDisabled || CapabilityUtil.isCapabilityEnabled(nativeCapability)) { rv.add(nativeCapability); } } } return rv; }
private <T extends CapabilityType> boolean supportsCapability(ConnectorInstanceSpecificationType additionalConnectorType, Collection<Object> nativeCapabilities, Class<T> capabilityClass) { CapabilitiesType specifiedCapabilitiesType = additionalConnectorType.getCapabilities(); if (specifiedCapabilitiesType != null) { CapabilityCollectionType configuredCapCollectionType = specifiedCapabilitiesType.getConfigured(); if (configuredCapCollectionType != null) { T configuredCap = CapabilityUtil.getCapability(configuredCapCollectionType.getAny(), capabilityClass); if (configuredCap != null && !CapabilityUtil.isCapabilityEnabled(configuredCap)) { return false; } } } T cap = CapabilityUtil.getCapability(nativeCapabilities, capabilityClass); if (cap == null) { return false; } return CapabilityUtil.isCapabilityEnabled(cap); }
if (resourceType.getCapabilities() == null || resourceType.getCapabilities().getConfigured() == null) { return; .getCapabilities().getConfigured().getAny(), ActivationCapabilityType.class); if (CapabilityUtil.getEffectiveActivationStatus(activationCapability) != null) { QName attributeName = activationCapability.getStatus().getAttribute();
if (resourceType.getCapabilities().getConfigured() != null) { for (Object capability : resourceType.getCapabilities().getConfigured().getAny()) { System.out.println("Configured Capability: "+CapabilityUtil.getCapabilityDisplayName(capability)+" : "+capability); assertEquals("Unexepected number of native capabilities", 3, resourceType.getCapabilities().getNative().getAny().size()); assertNotNull("null configured capabilities", resourceType.getCapabilities().getConfigured()); assertFalse("empty configured capabilities", resourceType.getCapabilities().getConfigured().getAny().isEmpty()); assertEquals("Unexepected number of configured capabilities", 2, resourceType.getCapabilities().getConfigured().getAny().size());
/** * Checks if the resource is internally consistent, if it has everything it should have. * * @throws SchemaException */ private void checkOpenDjResource(ResourceType resource, String source) throws SchemaException { assertNotNull("Resource from " + source + " is null", resource); ObjectReferenceType connectorRefType = resource.getConnectorRef(); assertNotNull("Resource from " + source + " has null connectorRef", connectorRefType); assertFalse("Resource from " + source + " has no OID in connectorRef", StringUtils.isBlank(connectorRefType.getOid())); assertNotNull("Resource from " + source + " has null description in connectorRef", connectorRefType.getDescription()); assertNotNull("Resource from " + source + " has null filter in connectorRef", connectorRefType.getFilter()); assertNotNull("Resource from " + source + " has null filter element in connectorRef", connectorRefType.getFilter().getFilterClauseXNode()); assertNotNull("Resource from " + source + " has null configuration", resource.getConnectorConfiguration()); assertNotNull("Resource from " + source + " has null schema", resource.getSchema()); checkOpenDjSchema(resource, source); assertNotNull("Resource from " + source + " has null schemahandling", resource.getSchemaHandling()); checkOpenDjSchemaHandling(resource, source); if (!source.equals("repository")) { // This is generated on the fly in provisioning assertNotNull("Resource from " + source + " has null nativeCapabilities", resource.getCapabilities().getNative()); assertFalse("Resource from " + source + " has empty nativeCapabilities", resource.getCapabilities().getNative().getAny().isEmpty()); } assertNotNull("Resource from " + source + " has null configured capabilities", resource.getCapabilities().getConfigured()); assertFalse("Resource from " + source + " has empty capabilities", resource.getCapabilities().getConfigured().getAny().isEmpty()); assertNotNull("Resource from " + source + " has null synchronization", resource.getSynchronization()); checkOpenDjConfiguration(resource.asPrismObject(), source); }
for (Object capability : resource.getCapabilities().getConfigured().getAny()) { System.out.println("Configured Capability: " + CapabilityUtil.getCapabilityDisplayName(capability) + " : " + capability);
CapabilityCollectionType configuredCapabilities = resourceType.getCapabilities().getConfigured(); if (configuredCapabilities == null) { assertCountConfiguredCapability(null);