[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