[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
noreply at shibboleth.net
noreply at shibboleth.net
Mon Jan 20 13:30:42 EST 2014
Author: scantor
Date: Mon Jan 20 13:30:42 2014
New Revision: 523
URL: http://svn.shibboleth.net/view/utilities?rev=523&view=rev
Log:
Streamline use of enum and schema language handling.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java?rev=523&r1=522&r2=523&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java Mon Jan 20 13:30:42 2014
@@ -58,31 +58,30 @@
public static enum SchemaLanguage {
/** W3 XML Schema. */
- XML("xsd"),
+ XML(XMLConstants.W3C_XML_SCHEMA_NS_URI),
/** OASIS RELAX NG Schema. */
- RELAX("rng");
-
- /** File extension used for the schema files. */
- @Nonnull private String schemaFileExtension;
-
+ RELAX(XMLConstants.RELAXNG_NS_URI);
+
+ /** Constant for use with {@link SchemaFactory#newInstance(String)}. */
+ @Nonnull private String schemaFactoryURI;
+
/**
* Constructor.
*
- * @param extension file extension used for the schema files
+ * @param uri schema factory identifier
*/
- private SchemaLanguage(@Nonnull @NotEmpty String extension) {
- schemaFileExtension = Constraint.isNotNull(StringSupport.trimOrNull(extension),
- "Extension cannot be null or empty");
+ private SchemaLanguage(@Nonnull @NotEmpty String uri) {
+ schemaFactoryURI = Constraint.isNotNull(StringSupport.trimOrNull(uri), "URI cannot be null or empty");
}
/**
- * Gets the file extension used for the schema files.
+ * Get a {@link SchemaFactory} instance for a schema language.
*
- * @return file extension used for the schema files
+ * @return a factory instance
*/
- @Nonnull @NotEmpty public String getSchemaFileExtension() {
- return schemaFileExtension;
+ @Nonnull public SchemaFactory getSchemaFactory() {
+ return SchemaFactory.newInstance(schemaFactoryURI);
}
};
@@ -250,12 +249,7 @@
@Nonnull public Schema buildSchema() throws SAXException {
Constraint.isNotEmpty(sources, "No schema sources specified");
- final SchemaFactory schemaFactory;
- if (schemaLang == SchemaLanguage.XML) {
- schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- } else {
- schemaFactory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
- }
+ final SchemaFactory schemaFactory = schemaLang.getSchemaFactory();
if (features.isEmpty()) {
schemaFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
More information about the commits
mailing list