private PrismObject<ObjectTemplateType> migrateObjectTemplate(PrismObject<ObjectTemplateType> orig) { QName elementName = orig.getElementName(); if (elementName.equals(SchemaConstants.C_OBJECT_TEMPLATE)) { return orig; } PrismObject<ObjectTemplateType> migrated = orig.clone(); migrated.setElementName(SchemaConstants.C_OBJECT_TEMPLATE); return migrated; }
private QName determineElementQName(Objectable objectable) { PrismObject<?> prismObject = objectable.asPrismObject(); if (prismObject.getElementName() != null) { return prismObject.getElementName(); } PrismObjectDefinition<?> definition = prismObject.getDefinition(); if (definition != null) { if (definition.getName() != null) { return definition.getName(); } } throw new IllegalStateException("Cannot determine element name of "+objectable); }
LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new SystemException("Couldn't confirm user " + user.getElementName(), ex); } catch (ExpressionEvaluationException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new ExpressionEvaluationException("Couldn't confirm user " + user.getElementName(), ex); } catch (ObjectNotFoundException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new ObjectNotFoundException("Couldn't confirm user " + user.getElementName(), ex); } catch (SchemaException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new SchemaException("Couldn't confirm user " + user.getElementName(), ex); } catch (CommunicationException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new CommunicationException("Couldn't confirm user " + user.getElementName(), ex); } catch (ConfigurationException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new ConfigurationException("Couldn't confirm user " + user.getElementName(), ex); } catch (SecurityViolationException ex) { LoggingUtils.logException(LOGGER, "Couldn't confirm user {}", ex, user.getElementName()); throw new SecurityViolationException("Couldn't confirm user " + user.getElementName(), ex);
private static String formatObject(PrismObject<? extends ObjectType> object) { if (object == null) { return "null"; } return object.asObjectable().toDebugType()+":"+object.getOid()+"("+object.getElementName()+")"; }
protected <T extends ObjectType> PrismObject<T> addObjectFromFile(String filePath) throws Exception { PrismObject<T> object = unmarshallJaxbFromFile(filePath); System.out.println("obj: " + object.getElementName()); OperationResult result = new OperationResult(TestQuartzTaskManagerContract.class.getName() + ".addObjectFromFile"); try { add(object, result); } catch(ObjectAlreadyExistsException e) { delete(object, result); add(object, result); } logger.trace("Object from " + filePath + " added to repository."); return object; }
public static void copyFromJAXB(ObjectTemplateType jaxb, RObjectTemplate repo, RepositoryContext repositoryContext, IdGeneratorResult generatorResult) throws DtoTranslationException { copyAssignmentHolderInformationFromJAXB(jaxb, repo, repositoryContext, generatorResult); repo.setType(RUtil.getRepoEnumValue(jaxb.asPrismObject().getElementName(), RObjectTemplateType.class)); repo.setNameCopy(RPolyString.copyFromJAXB(jaxb.getName())); repo.getIncludeRef().addAll(RUtil.safeListReferenceToSet( jaxb.getIncludeRef(), repo, RReferenceOwner.INCLUDE, repositoryContext.relationRegistry)); } }
private <O extends ObjectType> void assertSimpleMigration(File fileOld, File fileNew) throws SchemaException, IOException { // GIVEN PrismObject<O> objectOld = prismContext.parseObject(fileOld); // WHEN PrismObject<O> objectNew = migrator.migrate(objectOld); // THEN IntegrationTestTools.display("Migrated object "+fileOld.getName(), objectNew); assertNotNull("No migrated object "+fileOld.getName(), objectNew); IntegrationTestTools.display("Migrated object "+fileOld.getName(), objectNew); String migratedXml = prismContext.serializeObjectToString(objectNew, PrismContext.LANG_XML); IntegrationTestTools.display("Migrated object XML "+fileOld.getName(), migratedXml); PrismObject<O> expectedObject = prismContext.parseObject(fileNew); IntegrationTestTools.display("Expected object "+fileOld.getName(), expectedObject); String expectedXml = prismContext.serializeObjectToString(expectedObject, PrismContext.LANG_XML); IntegrationTestTools.display("Expected object XML "+fileOld.getName(), expectedXml); List<String> expectedXmlLines = MiscUtil.splitLines(expectedXml); Patch patch = DiffUtils.diff(expectedXmlLines, MiscUtil.splitLines(migratedXml)); List<String> diffLines = DiffUtils.generateUnifiedDiff(fileOld.getPath(), fileNew.getPath(), expectedXmlLines, patch, 3); IntegrationTestTools.display("XML textual diff", StringUtils.join(diffLines, '\n')); PrismAsserts.assertEquivalent("Unexpected migration result for "+fileOld.getName(), expectedObject, objectNew); assertEquals("Unexpected element name for "+fileOld.getName(), expectedObject.getElementName(), objectNew.getElementName()); } }
@Test public void testParseRoleFilters() throws Exception { System.out.println("\n\n===[ testParseRoleFilters ]===\n"); // GIVEN PrismContext prismContext = PrismTestUtil.getPrismContext(); // WHEN PrismObject<RoleType> object = prismContext.parseObject(ROLE_FILTERS_FILE); // THEN System.out.println("Parsed object:"); System.out.println(object.debugDump()); assertEquals("Wrong oid", ROLE_FILTERS_OID, object.getOid()); PrismObjectDefinition<RoleType> objectDefinition = object.getDefinition(); assertNotNull("No object definition", objectDefinition); QName elementName = new QName(SchemaConstantsGenerated.NS_COMMON, "role"); PrismAsserts.assertObjectDefinition(objectDefinition, elementName, RoleType.COMPLEX_TYPE, RoleType.class); assertEquals("Wrong class", RoleType.class, object.getCompileTimeClass()); assertEquals("Wrong object item name", elementName, object.getElementName()); RoleType objectType = object.asObjectable(); assertNotNull("asObjectable resulted in null", objectType); assertPropertyValue(object, "name", PrismTestUtil.createPolyString("Role with import filters")); assertPropertyDefinition(object, "name", PolyStringType.COMPLEX_TYPE, 0, 1); List<AssignmentType> inducements = objectType.getInducement(); assertEquals("Wrong number of inducements", 2, inducements.size()); }
PrismObjectDefinition<ShadowType> objectDefinition = objectToAdd.getDefinition(); base = getNotNullPrismContext().itemFactory().createObject(objectToAdd.getElementName(), objectDefinition); base = syncDelta.computeChangedObject(base);
private void assertObjectTemplatePrism(PrismObject<ObjectTemplateType> object, QName elementName) { assertEquals("Wrong oid", "10000000-0000-0000-0000-000000000002", object.getOid()); PrismObjectDefinition<ObjectTemplateType> objectDefinition = object.getDefinition(); assertNotNull("No object definition", objectDefinition); PrismAsserts.assertObjectDefinition(objectDefinition, elementName, ObjectTemplateType.COMPLEX_TYPE, ObjectTemplateType.class); assertEquals("Wrong class", ObjectTemplateType.class, object.getCompileTimeClass()); assertEquals("Wrong object item name", elementName, object.getElementName()); ObjectTemplateType objectType = object.asObjectable(); assertNotNull("asObjectable resulted in null", objectType); assertPropertyValue(object, "name", PrismTestUtil.createPolyString("Default User Template")); assertPropertyDefinition(object, "name", PolyStringType.COMPLEX_TYPE, 0, 1); }
getRepositoryService().deleteObject(NodeType.class, n.getOid(), result); } catch (ObjectNotFoundException e) { LoggingUtils.logUnexpectedException(LOGGER, "Cannot remove NodeType with oid = {}, name = {}, because it does not exist.", e, n.getOid(), n.getElementName());