use of com.evolveum.midpoint.util.exception.ConfigurationException in project midpoint by Evolveum.
the class ResourceContentPanel method changeOwnerInternal.
private void changeOwnerInternal(String ownerOid, Collection<? extends ItemDelta> modifications, AjaxRequestTarget target) {
OperationResult result = new OperationResult(OPERATION_CHANGE_OWNER);
Task task = pageBase.createSimpleTask(OPERATION_CHANGE_OWNER);
ObjectDelta objectDelta = ObjectDelta.createModifyDelta(ownerOid, modifications, FocusType.class, pageBase.getPrismContext());
Collection deltas = new ArrayList<>();
deltas.add(objectDelta);
try {
if (!deltas.isEmpty()) {
pageBase.getModelService().executeChanges(deltas, null, task, result);
}
} catch (ObjectAlreadyExistsException | ObjectNotFoundException | SchemaException | ExpressionEvaluationException | CommunicationException | ConfigurationException | PolicyViolationException | SecurityViolationException e) {
}
result.computeStatusIfUnknown();
pageBase.showResult(result);
target.add(pageBase.getFeedbackPanel());
getTable().refreshTable(null, target);
target.add(ResourceContentPanel.this);
}
use of com.evolveum.midpoint.util.exception.ConfigurationException in project midpoint by Evolveum.
the class RunReportPopupPanel method createLookupTableRows.
private <O extends ObjectType> List<LookupTableRowType> createLookupTableRows(JasperReportParameterDto param, String input) {
ItemPath label = null;
ItemPath key = null;
List<LookupTableRowType> rows = new ArrayList<>();
JasperReportParameterPropertiesDto properties = param.getProperties();
if (properties == null) {
return null;
}
String pLabel = properties.getLabel();
if (pLabel != null) {
label = new ItemPath(pLabel);
}
String pKey = properties.getKey();
if (pKey != null) {
key = new ItemPath(pKey);
}
String pTargetType = properties.getTargetType();
Class<O> targetType = null;
if (pTargetType != null) {
try {
targetType = (Class<O>) Class.forName(pTargetType);
} catch (ClassNotFoundException e) {
error("Error while creating lookup table for input parameter: " + param.getName() + ", " + e.getClass().getSimpleName() + " (" + e.getMessage() + ")");
//e.printStackTrace();
}
}
if (label != null && targetType != null && input != null) {
OperationResult result = new OperationResult(OPERATION_LOAD_RESOURCES);
Task task = createSimpleTask(OPERATION_LOAD_RESOURCES);
Collection<PrismObject<O>> objects;
ObjectQuery query = QueryBuilder.queryFor(targetType, getPrismContext()).item(new QName(SchemaConstants.NS_C, pLabel)).startsWith(input).matching(new QName(SchemaConstants.NS_MATCHING_RULE, "origIgnoreCase")).maxSize(AUTO_COMPLETE_BOX_SIZE).build();
try {
objects = getPageBase().getModelService().searchObjects(targetType, query, SelectorOptions.createCollection(GetOperationOptions.createNoFetch()), task, result);
for (PrismObject<O> o : objects) {
Object realKeyValue = null;
PrismProperty labelItem = o.findProperty(label);
//TODO: e.g. support not only for property, but also ref, container..
if (labelItem == null || labelItem.isEmpty()) {
continue;
}
PrismProperty keyItem = o.findProperty(key);
if ("oid".equals(pKey)) {
realKeyValue = o.getOid();
}
if (realKeyValue == null && (keyItem == null || keyItem.isEmpty())) {
continue;
}
//TODO: support for single/multivalue value
if (!labelItem.isSingleValue()) {
continue;
}
Object realLabelValue = labelItem.getRealValue();
realKeyValue = (realKeyValue == null) ? keyItem.getRealValue() : realKeyValue;
// TODO: take definition into account
QName typeName = labelItem.getDefinition().getTypeName();
LookupTableRowType row = new LookupTableRowType();
if (realKeyValue != null) {
row.setKey(convertObjectToPolyStringType(realKeyValue).getOrig());
} else {
throw new SchemaException("Cannot create lookup table with null key for label: " + realLabelValue);
}
row.setLabel(convertObjectToPolyStringType(realLabelValue));
rows.add(row);
}
return rows;
} catch (SchemaException | ObjectNotFoundException | SecurityViolationException | CommunicationException | ConfigurationException | ExpressionEvaluationException e) {
error("Error while creating lookup table for input parameter: " + param.getName() + ", " + e.getClass().getSimpleName() + " (" + e.getMessage() + ")");
//e.printStackTrace();
}
}
return rows;
}
use of com.evolveum.midpoint.util.exception.ConfigurationException in project midpoint by Evolveum.
the class AbstractManualConnectorInstance method addObject.
// TODO: operations to check ticket state
@Override
public AsynchronousOperationReturnValue<Collection<ResourceAttribute<?>>> addObject(PrismObject<? extends ShadowType> object, Collection<Operation> additionalOperations, StateReporter reporter, OperationResult parentResult) throws CommunicationException, GenericFrameworkException, SchemaException, ObjectAlreadyExistsException, ConfigurationException {
OperationResult result = parentResult.createSubresult(OPERATION_ADD);
String ticketIdentifier = null;
try {
ticketIdentifier = createTicketAdd(object, additionalOperations, result);
} catch (CommunicationException | GenericFrameworkException | SchemaException | ObjectAlreadyExistsException | ConfigurationException | RuntimeException | Error e) {
result.recordFatalError(e);
throw e;
}
result.recordInProgress();
result.setAsynchronousOperationReference(ticketIdentifier);
AsynchronousOperationReturnValue<Collection<ResourceAttribute<?>>> ret = new AsynchronousOperationReturnValue<>();
ret.setOperationResult(result);
return ret;
}
use of com.evolveum.midpoint.util.exception.ConfigurationException in project midpoint by Evolveum.
the class AbstractManualConnectorInstance method modifyObject.
@Override
public AsynchronousOperationReturnValue<Collection<PropertyModificationOperation>> modifyObject(ObjectClassComplexTypeDefinition objectClass, Collection<? extends ResourceAttribute<?>> identifiers, Collection<Operation> changes, StateReporter reporter, OperationResult parentResult) throws ObjectNotFoundException, CommunicationException, GenericFrameworkException, SchemaException, SecurityViolationException, ObjectAlreadyExistsException, ConfigurationException {
OperationResult result = parentResult.createSubresult(OPERATION_MODIFY);
String ticketIdentifier = null;
try {
ticketIdentifier = createTicketModify(objectClass, identifiers, changes, result);
} catch (ObjectNotFoundException | CommunicationException | GenericFrameworkException | SchemaException | ObjectAlreadyExistsException | ConfigurationException | RuntimeException | Error e) {
result.recordFatalError(e);
throw e;
}
result.recordInProgress();
result.setAsynchronousOperationReference(ticketIdentifier);
AsynchronousOperationReturnValue<Collection<PropertyModificationOperation>> ret = new AsynchronousOperationReturnValue<>();
ret.setOperationResult(result);
return ret;
}
use of com.evolveum.midpoint.util.exception.ConfigurationException in project midpoint by Evolveum.
the class TestOpenDjNegative method test140AddDeleteAccountSparrow.
@Test
public void test140AddDeleteAccountSparrow() throws Exception {
final String TEST_NAME = "test140AddDeleteAccountSparrow";
TestUtil.displayTestTile(TEST_NAME);
// GIVEN
OperationResult result = new OperationResult(TestOpenDjNegative.class.getName() + "." + TEST_NAME);
try {
provisioningService.deleteObject(ShadowType.class, ACCOUNT_SPARROW_OID, null, null, taskManager.createTaskInstance(), result);
AssertJUnit.fail("addObject succeeded unexpectedly");
} catch (ConfigurationException e) {
// This is expected
display("Expected exception", e);
}
result.computeStatus();
TestUtil.assertFailure(result);
}
Aggregations