Author: jkaputin
Date: Sun Oct  2 21:57:34 2005
New Revision: 293239

URL: http://svn.apache.org/viewcvs?rev=293239&view=rev
Log:
Modified the internal Types representation of Schema and 

SchemaImport to Map of Lists, although will they

still be exposed on the API as typed arrays.

Modified:
    
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java

Modified: 
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
URL: 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java?rev=293239&r1=293238&r2=293239&view=diff
==============================================================================
--- 
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
 (original)
+++ 
incubator/woden/java/src/org/apache/woden/internal/util/ComponentModelBuilder.java
 Sun Oct  2 21:57:34 2005
@@ -54,10 +54,6 @@
     //Collection of Schema objects

     private List fInScopeSchemas = new Vector();

     

-    //Collection of schema target namespace Strings

-    //TODO not sure if this is needed

-    private List fInScopeSchemaNamespaces = new Vector();

-    

     /*

      * Takes a DescriptionElement and converts its WSDL XML model

      * to a WSDL component model returned as a Description.

@@ -81,6 +77,7 @@
      */

     private void collectImportedWsdl()

     {

+        //TODO

     }

 

     /*

@@ -92,57 +89,47 @@
     {

         //TODO schemas inlined in wsdl:imported docs

         

-        //TODO ensure only schemas and schema namespaces in scope per

-        //W3C WSDL 2.0 spec are collected.

-        

-        //TODO not sure if the in scope namespaces collection is needed

+        //TODO ensure only schemas that are in scope per

+        //W3C WSDL 2.0 spec are used to extract elements and types.

         

         TypesElement types = fDescElement.getTypesElement();

         

-        Schema s = null;

-        SchemaImport si = null;

-        

         //collect all inlined schemas

-        Collection schemaArrays = types.getSchemas().values();

-        Iterator sIterator = schemaArrays.iterator();

-        while(sIterator.hasNext())

+ 

+        Collection schemaLists = types.getSchemas().values();

+        Iterator i1 = schemaLists.iterator();

+        while(i1.hasNext())

         {

-            Schema[] schemaArray = (Schema[])sIterator.next();

-            for(int i=0; i < schemaArray.length; i++)

-            {

-                s = schemaArray[i];

-                fInScopeSchemas.add(s);

-                fInScopeSchemaNamespaces.add(s.getTargetNamespace());

-            }

+            fInScopeSchemas.addAll((Collection)i1.next());

         }

         

         //collect all imported schemas

-        Collection schemaImportArrays = types.getSchemaImports().values();

-        Iterator siIterator = schemaImportArrays.iterator();

-        while(siIterator.hasNext())

+

+        Collection schemaImportLists = types.getSchemaImports().values();

+        Iterator i2 = schemaImportLists.iterator();

+        while(i2.hasNext())

         {

-            SchemaImport[] schemaImportArray = 
(SchemaImport[])siIterator.next();

-            for(int i=0; i < schemaImportArray.length; i++)

+            List schemaImportList = (List) i2.next();

+            Iterator i3 = schemaImportList.iterator();

+            while(i3.hasNext())

             {

-                si = schemaImportArray[i];

-                fInScopeSchemaNamespaces.add(si.getNamespace());

-                s = si.getSchema();

-                if(s != null) {

-                    fInScopeSchemas.add(s);

+                SchemaImport si = (SchemaImport)i3.next();

+                if(si.getSchema() != null)

+                {

+                    fInScopeSchemas.add(si.getSchema());

                 }

             }

         }

         

-        //We now have a 'flattened' collection of all inlined and imported 

-        //schemas (i.e. as XSModel objects) and a collection of the inlined

-        //and imported schema namespace Strings (i.e. the in-scope namespaces).

-        //These can now be used to extract the in-scope element declarations 

-        //and type definitions.

+        /* We now have a 'flattened' collection of all inlined and imported 

+         * schemas (i.e. as XSModel objects). These can now be used to extract 

+         * the element declarations and type definitions.

+         */

         

     }

 

     /*

-     * Extract from the collections of in-scope schemas and schema namespaces

+     * Extract from the collections of in-scope schemas

      * the element declarations and type definitions.

      */

     private void buildElementsAndTypes()

@@ -181,7 +168,7 @@
     }

         

     /*

-     * Extract from the collections of in-scope schemas and schema namespaces

+     * Extract from the collections of in-scope schemas

      * the type definitions.

      */

 


Modified: 
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=293239&r1=293238&r2=293239&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java 
(original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java 
Sun Oct  2 21:57:34 2005
@@ -16,9 +16,10 @@
 package org.apache.woden.internal.wsdl20;

 

 import java.util.HashMap;

+import java.util.List;

 import java.util.Map;

+import java.util.Vector;

 

-import org.apache.woden.internal.ErrorReporter;

 import org.apache.woden.schema.Schema;

 import org.apache.woden.schema.SchemaImport;

 import org.apache.woden.wsdl20.xml.DocumentationElement;

@@ -40,23 +41,13 @@
  */

 public class TypesImpl implements TypesElement {

     

-    private DocumentationElement fDocumentation;

+    private List fDocumentationElements = new Vector();

     private String fTypeSystem;

     private Map fSchemaImports = new HashMap();

     private Map fSchemas = new HashMap();

     

     //TODO extension attributes and elements

 

-    public void setDocumentationElement(DocumentationElement docEl)

-    {

-        fDocumentation = docEl;

-    }

-    

-    public DocumentationElement getDocumentationElement()

-    {

-        return fDocumentation;

-    }

-

     public void setTypeSystem(String typeSystem)

     {

         fTypeSystem = typeSystem;

@@ -81,6 +72,20 @@
 

         if(namespace != null)

         {

+            List schemaImports = (List)fSchemaImports.get(namespace);

+            

+            if(schemaImports == null)

+            {

+                schemaImports = new Vector();

+                fSchemaImports.put(namespace, schemaImports);

+            }

+            

+            schemaImports.add(schemaImport);

+        }

+        

+        /*

+        if(namespace != null)

+        {

             SchemaImport[] oldArray, newArray;

             Object schemaImports = fSchemaImports.get(namespace);

             

@@ -103,6 +108,7 @@
             

             fSchemaImports.put(namespace, newArray);

         }

+        */

         //TODO report a warning if discarded due to missing namespace?

         

     }

@@ -141,7 +147,22 @@
     public void addSchema(Schema schema)

     {

         String targetNamespace = schema.getTargetNamespace();

+

+        if(targetNamespace != null)

+        {

+            List schemas = (List)fSchemas.get(targetNamespace);

+            

+            if(schemas == null)

+            {

+                schemas = new Vector();

+                fSchemas.put(targetNamespace, schemas);

+            }

+            

+            schemas.add(schema);

+        }

         

+

+        /*

         if(targetNamespace != null)

         {

             Schema[] oldArray, newArray;

@@ -166,6 +187,7 @@
             

             fSchemas.put(targetNamespace, newArray);

         }

+        */

         //TODO report a warning if discarded due to missing namespace?

         

     }

@@ -194,4 +216,20 @@
         fSchemas = schemas;

     }

 

+    /*

+     * @see 
org.apache.woden.wsdl20.xml.DocumentableElement#addDocumentationElement(DocumentationElement)

+     */

+    public void addDocumentationElement(DocumentationElement docEl) 

+    {

+        fDocumentationElements.add(docEl);

+    }

+

+    /*

+     * @see 
org.apache.woden.wsdl20.xml.DocumentableElement#getDocumentationElements()

+     */

+    public DocumentationElement[] getDocumentationElements() 

+    {

+        return (DocumentationElement[])fDocumentationElements.toArray();

+    }

+    

 }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to