Search in sources :

Example 6 with ScriptCapabilityType

use of com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType in project midpoint by Evolveum.

the class CapabilityScriptPanel method prepareOnConnectorModel.

private IModel prepareOnConnectorModel() {
    CapabilityDto dto = (CapabilityDto) getModel().getObject();
    ScriptCapabilityType script = (ScriptCapabilityType) dto.getCapability();
    for (ScriptCapabilityType.Host host : script.getHost()) {
        if (ProvisioningScriptHostType.CONNECTOR.equals(host.getType())) {
            return new PropertyModel<List<String>>(host, "language");
        }
    }
    List<String> emptyList = new ArrayList<>();
    return Model.of(emptyList);
}
Also used : ScriptCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType) CapabilityDto(com.evolveum.midpoint.web.component.wizard.resource.dto.CapabilityDto) PropertyModel(org.apache.wicket.model.PropertyModel) ArrayList(java.util.ArrayList)

Example 7 with ScriptCapabilityType

use of com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType in project midpoint by Evolveum.

the class CapabilityScriptPanel method prepareOnResourceModel.

private IModel prepareOnResourceModel() {
    CapabilityDto dto = (CapabilityDto) getModel().getObject();
    ScriptCapabilityType script = (ScriptCapabilityType) dto.getCapability();
    for (ScriptCapabilityType.Host host : script.getHost()) {
        if (ProvisioningScriptHostType.RESOURCE.equals(host.getType())) {
            return new PropertyModel<List<String>>(host, "language");
        }
    }
    List<String> emptyList = new ArrayList<>();
    return Model.of(emptyList);
}
Also used : ScriptCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType) CapabilityDto(com.evolveum.midpoint.web.component.wizard.resource.dto.CapabilityDto) PropertyModel(org.apache.wicket.model.PropertyModel) ArrayList(java.util.ArrayList)

Example 8 with ScriptCapabilityType

use of com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType in project midpoint by Evolveum.

the class AbstractCsvTest method test006Capabilities.

@Test
public void test006Capabilities() throws Exception {
    // GIVEN
    Task task = getTestTask();
    OperationResult result = createOperationResult();
    // WHEN
    ResourceType resource = provisioningService.getObject(ResourceType.class, getResourceOid(), null, task, result).asObjectable();
    // THEN
    display("Resource from provisioning", resource);
    displayValue("Resource from provisioning (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);
    }
}
Also used : ScriptCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType) Task(com.evolveum.midpoint.task.api.Task) ActivationCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ActivationCapabilityType) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) Host(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType.Host) Test(org.testng.annotations.Test) AbstractProvisioningIntegrationTest(com.evolveum.midpoint.provisioning.impl.AbstractProvisioningIntegrationTest)

Example 9 with ScriptCapabilityType

use of com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType in project midpoint by Evolveum.

the class ConnIdCapabilitiesAndSchemaParser method processOperationCapabilities.

/**
 * Create capabilities from supported connector operations
 */
private void processOperationCapabilities() {
    if (connIdSupportedOperations.contains(SchemaApiOp.class)) {
        SchemaCapabilityType capSchema = new SchemaCapabilityType();
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createSchema(capSchema));
        supportsSchema = true;
    } else {
        supportsSchema = false;
    }
    if (connIdSupportedOperations.contains(SyncApiOp.class)) {
        LiveSyncCapabilityType capSync = new LiveSyncCapabilityType();
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createLiveSync(capSync));
    }
    if (connIdSupportedOperations.contains(TestApiOp.class)) {
        TestConnectionCapabilityType capTest = new TestConnectionCapabilityType();
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createTestConnection(capTest));
    }
    if (connIdSupportedOperations.contains(CreateApiOp.class)) {
        CreateCapabilityType capCreate = new CreateCapabilityType();
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createCreate(capCreate));
    }
    if (connIdSupportedOperations.contains(UpdateDeltaApiOp.class)) {
        UpdateCapabilityType capUpdate = new UpdateCapabilityType();
        capUpdate.setDelta(true);
        // This is the default for all resources.
        // (Currently there is no way how to obtain it from the connector.)
        // It can be disabled manually.
        capUpdate.setAddRemoveAttributeValues(true);
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createUpdate(capUpdate));
    } else if (connIdSupportedOperations.contains(UpdateApiOp.class)) {
        UpdateCapabilityType capUpdate = new UpdateCapabilityType();
        // This is the default for all resources.
        // (Currently there is no way how to obtain it from the connector.)
        // It can be disabled manually.
        capUpdate.setAddRemoveAttributeValues(true);
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createUpdate(capUpdate));
    }
    if (connIdSupportedOperations.contains(DeleteApiOp.class)) {
        DeleteCapabilityType capDelete = new DeleteCapabilityType();
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createDelete(capDelete));
    }
    if (connIdSupportedOperations.contains(ScriptOnResourceApiOp.class) || connIdSupportedOperations.contains(ScriptOnConnectorApiOp.class)) {
        ScriptCapabilityType capScript = new ScriptCapabilityType();
        if (connIdSupportedOperations.contains(ScriptOnResourceApiOp.class)) {
            Host host = new Host();
            host.setType(ProvisioningScriptHostType.RESOURCE);
            capScript.getHost().add(host);
        // language is unknown here
        }
        if (connIdSupportedOperations.contains(ScriptOnConnectorApiOp.class)) {
            Host host = new Host();
            host.setType(ProvisioningScriptHostType.CONNECTOR);
            capScript.getHost().add(host);
        // language is unknown here
        }
        capabilities.add(CAPABILITY_OBJECT_FACTORY.createScript(capScript));
    }
}
Also used : UpdateApiOp(org.identityconnectors.framework.api.operations.UpdateApiOp) UpdateCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.UpdateCapabilityType) ScriptCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType) DeleteCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.DeleteCapabilityType) LiveSyncCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.LiveSyncCapabilityType) SchemaCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.SchemaCapabilityType) ScriptOnConnectorApiOp(org.identityconnectors.framework.api.operations.ScriptOnConnectorApiOp) TestConnectionCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.TestConnectionCapabilityType) ScriptOnResourceApiOp(org.identityconnectors.framework.api.operations.ScriptOnResourceApiOp) Host(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType.Host) CreateCapabilityType(com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.CreateCapabilityType)

Aggregations

ScriptCapabilityType (com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType)7 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)5 Host (com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ScriptCapabilityType.Host)4 TestConnectionCapabilityType (com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.TestConnectionCapabilityType)4 Test (org.testng.annotations.Test)4 PrismObject (com.evolveum.midpoint.prism.PrismObject)3 Task (com.evolveum.midpoint.task.api.Task)3 CapabilityDto (com.evolveum.midpoint.web.component.wizard.resource.dto.CapabilityDto)3 CapabilityCollectionType (com.evolveum.midpoint.xml.ns._public.common.common_3.CapabilityCollectionType)3 ResourceType (com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType)3 ActivationCapabilityType (com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.ActivationCapabilityType)3 ArrayList (java.util.ArrayList)2 PropertyModel (org.apache.wicket.model.PropertyModel)2 LoadableModel (com.evolveum.midpoint.gui.api.model.LoadableModel)1 NonEmptyLoadableModel (com.evolveum.midpoint.gui.api.model.NonEmptyLoadableModel)1 WebModelServiceUtils (com.evolveum.midpoint.gui.api.util.WebModelServiceUtils)1 ModelService (com.evolveum.midpoint.model.api.ModelService)1 ObjectDelta (com.evolveum.midpoint.prism.delta.ObjectDelta)1 CloneUtil (com.evolveum.midpoint.prism.util.CloneUtil)1 AbstractProvisioningIntegrationTest (com.evolveum.midpoint.provisioning.impl.AbstractProvisioningIntegrationTest)1