private <C extends Containerable> void logSubitemContainerDecision(AccessDecision subdecision, String location, PrismContainerValue<C> cval) { if (LOGGER.isTraceEnabled()) { if (subdecision != AccessDecision.ALLOW || InternalsConfig.isDetailedAuhotizationLog()) { LOGGER.trace(" container {} for {} (processed subitems): decision={}", cval.getPath(), location, subdecision); } } }
private void completeCapabilities(PrismObject<ResourceType> resource, boolean forceRefresh, Map<String,Collection<Object>> capabilityMap, Collection<ItemDelta<?, ?>> modifications, OperationResult result) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException { ResourceType resourceType = resource.asObjectable(); ConnectorSpec defaultConnectorSpec = getDefaultConnectorSpec(resource); CapabilitiesType resourceCapType = resourceType.getCapabilities(); if (resourceCapType == null) { resourceCapType = new CapabilitiesType(); resourceType.setCapabilities(resourceCapType); } completeConnectorCapabilities(defaultConnectorSpec, resourceCapType, ResourceType.F_CAPABILITIES, forceRefresh, capabilityMap==null?null:capabilityMap.get(null), modifications, result); for (ConnectorInstanceSpecificationType additionalConnectorType: resource.asObjectable().getAdditionalConnector()) { ConnectorSpec connectorSpec = getConnectorSpec(resource, additionalConnectorType); CapabilitiesType connectorCapType = additionalConnectorType.getCapabilities(); if (connectorCapType == null) { connectorCapType = new CapabilitiesType(); additionalConnectorType.setCapabilities(connectorCapType); } ItemPath itemPath = additionalConnectorType.asPrismContainerValue().getPath().append(ConnectorInstanceSpecificationType.F_CAPABILITIES); completeConnectorCapabilities(connectorSpec, connectorCapType, itemPath, forceRefresh, capabilityMap==null?null:capabilityMap.get(additionalConnectorType.getName()), modifications, result); } }
protected void assertPrismContext(Visitable value) { value.accept(v -> { if (v instanceof Item) { Item item = (Item) v; String label = item.getPath() + ": " + v; assertNotNull("No prism context in " + label, item.getPrismContextLocal()); } else if (v instanceof PrismContainerValue) { PrismContainerValue pcv = (PrismContainerValue) v; String label = pcv.getPath() + ": " + v; assertNotNull("No prism context in " + label, pcv.getPrismContextLocal()); } }); }
shadowChanges.add(cdelta); } else { ItemPath containerPath = pendingOperation.asPrismContainerValue().getPath();
ItemPath containerPath = pendingOperation.asPrismContainerValue().getPath(); PropertyDelta<PendingOperationExecutionStatusType> executionStatusDelta = shadowDelta.createPropertyModification(containerPath.append(PendingOperationType.F_EXECUTION_STATUS)); executionStatusDelta.setRealValuesToReplace(PendingOperationExecutionStatusType.COMPLETED);
ItemPath containerPath = existingPendingOperation.asPrismContainerValue().getPath(); addPropertyDelta(repoDeltas, containerPath, PendingOperationType.F_EXECUTION_STATUS, executionStatus, shadow.getDefinition()); addPropertyDelta(repoDeltas, containerPath, PendingOperationType.F_RESULT_STATUS, resultStatus, shadow.getDefinition());
ItemPath containerPath = pendingOperation.asPrismContainerValue().getPath();
protected void assertDefinitions(Visitable value) { value.accept(v -> { if (v instanceof Item) { Item item = (Item) v; String label = item.getPath() + ": " + v; //System.out.println("Checking " + label); if (item.getDefinition() == null) { assertTrue("No definition in " + label, isDynamic(item.getPath())); } else { assertNotNull("No prism context in definition of " + label, item.getDefinition().getPrismContext()); } } else if (v instanceof PrismContainerValue) { PrismContainerValue pcv = (PrismContainerValue) v; String label = pcv.getPath() + ": " + v; //System.out.println("Checking " + label); if (pcv.getComplexTypeDefinition() == null) { fail("No complex type definition in " + label); } else { assertNotNull("No prism context in definition of " + label, pcv.getComplexTypeDefinition().getPrismContext()); } } }); }
ItemPath containerPath = pendingOperation.asPrismContainerValue().getPath();