You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2005/07/19 17:03:14 UTC

svn commit: r219704 - in /incubator/woden/java/src/org/apache/woden: internal/wsdl20/TypesImpl.java internal/wsdl20/extensions/SchemaImportImpl.java wsdl20/extensions/Schema.java wsdl20/extensions/SchemaImport.java

Author: jkaputin
Date: Tue Jul 19 08:03:14 2005
New Revision: 219704

URL: http://svn.apache.org/viewcvs?rev=219704&view=rev
Log:
Types work in progress

Added:
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
Modified:
    incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
    incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java

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=219704&r1=219703&r2=219704&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 Tue Jul 19 08:03:14 2005
@@ -3,6 +3,7 @@
  */
 package org.apache.woden.internal.wsdl20;
 
+import java.util.List;
 import java.util.Map;
 import org.apache.woden.wsdl20.extensions.Schema;
 import org.apache.woden.wsdl20.extensions.SchemaImport;
@@ -48,7 +49,30 @@
     
     public void addSchemaImport(SchemaImport schemaImport)
     {
-        //TODO tbc
+        String namespace = schemaImport.getNamespace();
+        SchemaImport[] schemaImportArray = 
+            (SchemaImport[]) this.fSchemaImports.get(namespace);
+        
+        if(schemaImportArray == null)
+        {
+            schemaImportArray = new SchemaImport[] {schemaImport};
+            this.fSchemaImports.put(namespace, schemaImportArray);
+        }
+        else
+        {
+            int len = schemaImportArray.length;
+            SchemaImport[] newArray = new SchemaImport[len+1];
+            
+            for(int i=0; i < len; i++)
+            {
+               newArray[i] = schemaImportArray[i]; 
+            }
+            newArray[len+1] = schemaImport;
+            
+            this.fSchemaImports.put(namespace, newArray);
+        }
+        
+        
     }
     
     //TODO what if schemaLoc is null and there is more than one import for this namespace?
@@ -79,11 +103,20 @@
      * 
      * We store a Schema for each <xs:schema> element in a Map
      * with a key of namespace and a value of Schema array.
+     * 
+     * TODO comparing List impl to Array impl.
      */
     
     public void addSchema(Schema schema)
     {
-        //TODO tbc
+        String namespace = schema.getTargetNamespace();
+        List schemaList = (List) this.fSchemas.get(namespace);
+        
+        if(schemaList != null)
+        {
+            schemaList.add(schema);
+            this.fSchemas.put(namespace, schemaList);
+        }
     }
     
     //TODO what if schemaLoc is null and there is more than one import for this namespace?

Added: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java?rev=219704&view=auto
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java (added)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/SchemaImportImpl.java Tue Jul 19 08:03:14 2005
@@ -0,0 +1,53 @@
+/*
+ * TODO Apache boiler plate
+ */
+package org.apache.woden.internal.wsdl20.extensions;
+
+import org.apache.woden.wsdl20.extensions.SchemaImport;
+
+/**
+ * This interface represents the XML element information item for
+ * a &lt;xs:import&gt; element. It declares the behaviour required to 
+ * support parsing, creating and manipulating a &lt;xs:import&gt; element.
+ * 
+ * @author jkaputin@apache.org
+ */
+public class SchemaImportImpl implements SchemaImport {
+    
+    private String fNamespace = null;
+    private String fSchemaLocation = null;
+
+    /* (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.SchemaImport#setNamespace(java.lang.String)
+     */
+    public void setNamespace(String namespace) 
+    {
+        this.fNamespace = namespace;
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.SchemaImport#getNamespace()
+     */
+    public String getNamespace() 
+    {
+        return this.fNamespace;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.SchemaImport#setSchemaLocation(java.lang.String)
+     */
+    public void setSchemaLocation(String schemaLoc) 
+    {
+        this.fSchemaLocation = schemaLoc;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.SchemaImport#getSchemaLocation()
+     */
+    public String getSchemaLocation() 
+    {
+        return this.fSchemaLocation;
+    }
+
+}

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java?rev=219704&r1=219703&r2=219704&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/Schema.java Tue Jul 19 08:03:14 2005
@@ -12,4 +12,7 @@
  */
 public interface Schema extends ExtensionElement {
 
+    public void setTargetNamespace(String namespace);
+    
+    public String getTargetNamespace();
 }

Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java?rev=219704&r1=219703&r2=219704&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/SchemaImport.java Tue Jul 19 08:03:14 2005
@@ -11,5 +11,13 @@
  * @author jkaputin@apache.org
  */
 public interface SchemaImport extends ExtensionElement {
+    
+    public void setNamespace(String namespace);
+    
+    public String getNamespace();
+    
+    public void setSchemaLocation(String schemaLoc);
+    
+    public String getSchemaLocation();
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org