use of com.evolveum.midpoint.prism.schema.SchemaRegistryImpl in project midpoint by Evolveum.
the class SchemaDocMojo method createSchemaRegistry.
@NotNull
private SchemaRegistryImpl createSchemaRegistry() throws SchemaException {
SchemaRegistryImpl schemaRegistry = new SchemaRegistryImpl();
schemaRegistry.setNamespacePrefixMapper(new GlobalDynamicNamespacePrefixMapper());
return schemaRegistry;
}
use of com.evolveum.midpoint.prism.schema.SchemaRegistryImpl in project midpoint by Evolveum.
the class MidPointPrismContextFactory method createSchemaRegistry.
@NotNull
private SchemaRegistryImpl createSchemaRegistry() throws SchemaException, FileNotFoundException {
SchemaRegistryImpl schemaRegistry = new SchemaRegistryImpl();
schemaRegistry.setDefaultNamespace(SchemaConstantsGenerated.NS_COMMON);
schemaRegistry.setNamespacePrefixMapper(new GlobalDynamicNamespacePrefixMapper());
registerBuiltinSchemas(schemaRegistry);
registerExtensionSchemas(schemaRegistry);
return schemaRegistry;
}
use of com.evolveum.midpoint.prism.schema.SchemaRegistryImpl in project midpoint by Evolveum.
the class MidPointPrismContextFactory method createEmptyPrismContext.
public PrismContext createEmptyPrismContext() throws SchemaException, FileNotFoundException {
SchemaRegistryImpl schemaRegistry = createSchemaRegistry();
PrismContextImpl context = PrismContextImpl.createEmptyContext(schemaRegistry);
context.setDefinitionFactory(createDefinitionFactory());
context.setDefaultRelation(SchemaConstants.ORG_DEFAULT);
return context;
}
use of com.evolveum.midpoint.prism.schema.SchemaRegistryImpl in project midpoint by Evolveum.
the class SchemaDocMojo method createInitializedPrismContext.
private PrismContext createInitializedPrismContext() throws MojoFailureException {
try {
SchemaRegistryImpl schemaRegistry = createSchemaRegistry();
for (File schemaFile : schemaFiles) {
getLog().info("SchemaDoc: registering schema file: " + schemaFile);
if (!schemaFile.exists()) {
throw new MojoFailureException("Schema file " + schemaFile + " does not exist");
}
schemaRegistry.registerPrismSchemaFile(schemaFile);
}
if (catalogFiles != null && catalogFiles.length > 0) {
for (File catalogFile : catalogFiles) {
getLog().info("SchemaDoc: using catalog file: " + catalogFile);
if (!catalogFile.exists()) {
throw new IOException("Catalog file '" + catalogFile + "' does not exist.");
}
}
schemaRegistry.setCatalogFiles(catalogFiles);
}
PrismContextImpl context = PrismContextImpl.create(schemaRegistry);
context.setDefinitionFactory(new SchemaDefinitionFactory());
context.initialize();
return context;
} catch (SchemaException e) {
handleFailure(e);
// never reached
return null;
} catch (FileNotFoundException e) {
handleFailure(e);
// never reached
return null;
} catch (SAXException e) {
handleFailure(e);
// never reached
return null;
} catch (IOException e) {
handleFailure(e);
// never reached
return null;
}
}
use of com.evolveum.midpoint.prism.schema.SchemaRegistryImpl in project midpoint by Evolveum.
the class TestExtraSchema method testExtraSchema.
/**
* Test is extra schema can be loaded to the schema registry and whether the file compliant to that
* schema can be validated.
*/
@Test
public void testExtraSchema() throws SAXException, IOException, SchemaException {
System.out.println("===[ testExtraSchema ]===");
Document dataDoc = DOMUtil.parseFile(new File(COMMON_DIR_PATH, "root-foo.xml"));
PrismContext context = constructPrismContext();
SchemaRegistryImpl reg = (SchemaRegistryImpl) context.getSchemaRegistry();
Document extraSchemaDoc = DOMUtil.parseFile(new File(EXTRA_SCHEMA_DIR, "root.xsd"));
reg.registerSchema(extraSchemaDoc, "file root.xsd");
reg.initialize();
Schema javaxSchema = reg.getJavaxSchema();
assertNotNull(javaxSchema);
Validator validator = javaxSchema.newValidator();
DOMResult validationResult = new DOMResult();
validator.validate(new DOMSource(dataDoc), validationResult);
// System.out.println("Validation result:");
// System.out.println(DOMUtil.serializeDOMToString(validationResult.getNode()));
}
Aggregations