Author: amita
Date: Fri Nov 23 04:21:23 2007
New Revision: 597652

URL: http://svn.apache.org/viewvc?rev=597652&view=rev
Log:
TUSCANY-1359 changes for 1)define constants for UNBOUNDED,UNSPECIFIED, 2)check 
for global properties, 3) use of new HelperContext during each run

Modified:
    
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
    incubator/tuscany/java/sdo/impl/src/test/resources/bounds.xsd
    
incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java

Modified: 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java?rev=597652&r1=597651&r2=597652&view=diff
==============================================================================
--- 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
 (original)
+++ 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/BoundsTestCase.java
 Fri Nov 23 04:21:23 2007
@@ -23,6 +23,7 @@
 import java.net.URL;
 
 import org.apache.tuscany.sdo.api.SDOUtil;
+import org.apache.tuscany.sdo.api.SDOHelper;
 
 import junit.framework.TestCase;
 
@@ -33,21 +34,30 @@
     private final String TEST_MODEL = "/bounds.xsd";
     private final String TEST_NAMESPACE = "http://www.example.com/bounds";;
 
+    private TypeHelper typeHelper;
+    private XSDHelper xsdHelper;
+    private DataFactory dataFactory;
+
     public void testBounds() {
-        Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, 
"OpenQuote");
-        DataObject quote = DataFactory.INSTANCE.create(quoteType);
+       Property priceProperty = 
typeHelper.getOpenContentProperty(TEST_NAMESPACE, "price");
+        assertTrue(priceProperty.isOpenContent());
+        assertEquals(SDOHelper.UNSPECIFIED, 
SDOUtil.getUpperBound(priceProperty));
+        assertEquals(0, SDOUtil.getLowerBound(priceProperty));
+        
+        Type quoteType = typeHelper.getType(TEST_NAMESPACE, "OpenQuote");
+        DataObject quote = dataFactory.create(quoteType);
         assertEquals(2, 
SDOUtil.getUpperBound(quote.getInstanceProperty("symbol")));
         assertEquals(0, 
SDOUtil.getLowerBound(quote.getInstanceProperty("symbol")));
         
         //XSD default value of maxOccurs and minOccurs is 1, unbounded returns 
-1 for maxOccurs
-        Type quoteType2 = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, 
"OpenQuote2");
-        DataObject quote2 = DataFactory.INSTANCE.create(quoteType2);
-        assertEquals(-1, 
SDOUtil.getUpperBound(quote2.getInstanceProperty("symbol")));
+        Type quoteType2 = typeHelper.getType(TEST_NAMESPACE, "OpenQuote2");
+        DataObject quote2 = dataFactory.create(quoteType2);
+        assertEquals(SDOHelper.UNBOUNDED, 
SDOUtil.getUpperBound(quote2.getInstanceProperty("symbol")));
         assertEquals(1, 
SDOUtil.getLowerBound(quote2.getInstanceProperty("symbol")));
         
         //XSD default value of maxOccurs and minOccurs is 1
-        Type quoteType3 = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, 
"OpenQuote3");
-        DataObject quote3 = DataFactory.INSTANCE.create(quoteType3);
+        Type quoteType3 = typeHelper.getType(TEST_NAMESPACE, "OpenQuote3");
+        DataObject quote3 = dataFactory.create(quoteType3);
         assertEquals(1, 
SDOUtil.getUpperBound(quote3.getInstanceProperty("symbol")));
         assertEquals(1, 
SDOUtil.getLowerBound(quote3.getInstanceProperty("symbol")));        
     }
@@ -55,10 +65,15 @@
     protected void setUp() throws Exception {
         super.setUp();
 
+        HelperContext hc = SDOUtil.createHelperContext();
+        typeHelper = hc.getTypeHelper();
+        dataFactory = hc.getDataFactory();
+        xsdHelper = hc.getXSDHelper();
+        
         // Populate the meta data for the test (Stock Quote) model
         URL url = getClass().getResource(TEST_MODEL);
         InputStream inputStream = url.openStream();
-        XSDHelper.INSTANCE.define(inputStream, url.toString());
+        xsdHelper.define(inputStream, url.toString());
         inputStream.close();
     }
 }

Modified: incubator/tuscany/java/sdo/impl/src/test/resources/bounds.xsd
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/resources/bounds.xsd?rev=597652&r1=597651&r2=597652&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/bounds.xsd (original)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/bounds.xsd Fri Nov 23 
04:21:23 2007
@@ -21,7 +21,9 @@
   xmlns:bounds="http://www.example.com/bounds"; 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
   targetNamespace="http://www.example.com/bounds";> 
-  
+
+   <xsd:element name="price" type="xsd:decimal"/>
+     
    <xsd:complexType name="OpenQuote">
        <xsd:sequence>
           <xsd:element name="symbol" type="xsd:string"  maxOccurs="2" 
minOccurs="0" />

Modified: 
incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java?rev=597652&r1=597651&r2=597652&view=diff
==============================================================================
--- 
incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
 (original)
+++ 
incubator/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
 Fri Nov 23 04:21:23 2007
@@ -45,6 +45,9 @@
  */
 public interface SDOHelper
 {
+       final int UNBOUNDED = -1; //return value from getUpperBound() when 
maxOccurs="unbounded"
+       final int UNSPECIFIED = -2; //return value from getUpperBound() for 
global property
+       
   /**
    * Create a non-extensible HelperContext to provide access to a consistent 
set of Helpers which make use
    * of a new TypeHelper instance to provide scope for type definitions.



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

Reply via email to