[utilities COMMIT] in /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 11:27:43 EST 2014
Author: scantor
Date: Mon Jan 20 11:27:43 2014
New Revision: 521
URL: http://svn.shibboleth.net/view/utilities?rev=521&view=rev
Log:
Eliminate vararg and File-based schema adding methods.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/xml/BasicParserPoolTest.java
java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/xml/SchemaBuilderTest.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=521&r1=520&r2=521&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 11:27:43 2014
@@ -17,9 +17,9 @@
package net.shibboleth.utilities.java.support.xml;
-import java.io.File;
import java.io.InputStream;
import java.util.Collection;
+import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -93,7 +93,7 @@
@Nonnull private SchemaLanguage schemaLang;
/** Sources of schema material compatible with JAXP. */
- @Nonnull @NonnullElements private Collection<Source> sources;
+ @Nonnull @NonnullElements private List<Source> sources;
/** Mechanism for resolving nested resources like included/imported schemas. */
@Nullable private LSResourceResolver resourceResolver;
@@ -193,90 +193,47 @@
/**
* Set the schemas to load from the given schema sources (replaces any previously added).
*
+ * <p>If the caller wishes to ensure the schemas are loaded in a particular order,
+ * the {@link Collection} implementation provided must be one that preserves order.
+ * The method will add the sources in the order returned by the collection.</p>
+ *
* @param schemaSources schema sources
*/
@Nonnull public void setSchemas(@Nonnull @NullableElements final Collection<Source> schemaSources) {
Constraint.isNotNull(schemaSources, "Schema source file paths cannot be null");
resetSchemas();
- if (!schemaSources.isEmpty()) {
- addSchemas(schemaSources.toArray(new Source[schemaSources.size()]));
- }
- }
-
- /**
- * Add schemas from the given schema pathnames.
- *
- * @param schemaFilesOrDirectories files or directories which contains schema sources
- *
- * @return this builder
- */
- @Nonnull public SchemaBuilder addSchemas(@Nonnull @NullableElements final String... schemaFilesOrDirectories) {
- Constraint.isNotNull(schemaFilesOrDirectories, "Schema source file paths cannot be null");
-
- for (String file : schemaFilesOrDirectories) {
- if (file != null) {
- addSchemas(new File(file));
- }
- }
-
- return this;
- }
-
+ for (final Source schemaSource : schemaSources) {
+ addSchema(schemaSource);
+ }
+ }
+
+ /**
+ * Add schemas from the given schema input streams.
+ *
+ * @param schemaSource schema input stream
+ *
+ * @return this builder
+ */
+ @Nonnull public SchemaBuilder addSchema(@Nonnull @NullableElements final InputStream schemaSource) {
+ Constraint.isNotNull(schemaSource, "Schema source input stream cannot be null");
+
+ addSchema(new StreamSource(schemaSource));
+
+ return this;
+ }
+
/**
* Add schemas from the given schema sources.
*
- * @param schemaFilesOrDirectories files or directories which contains schema sources
- *
- * @return this builder
- */
- @Nonnull public SchemaBuilder addSchemas(@Nonnull @NullableElements final File... schemaFilesOrDirectories) {
- Constraint.isNotNull(schemaFilesOrDirectories, "Schema source files cannot be null");
-
- final Collection<File> schemaFiles = getSchemaFiles(schemaFilesOrDirectories);
- for (File schemaFile : schemaFiles) {
- if (schemaFile != null) {
- addSchemas(new StreamSource(schemaFile));
- }
- }
-
- return this;
- }
-
- /**
- * Add schemas from the given schema input streams.
- *
- * @param schemaSources schema input streams
- *
- * @return this builder
- */
- @Nonnull public SchemaBuilder addSchemas(@Nonnull @NullableElements final InputStream... schemaSources) {
- Constraint.isNotNull(schemaSources, "Schema source input streams cannot be null");
-
- for (InputStream schemaSource : schemaSources) {
- if (schemaSource != null) {
- addSchemas(new StreamSource(schemaSource));
- }
- }
-
- return this;
- }
-
- /**
[... 203 lines stripped ...]
More information about the commits
mailing list