You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ba...@apache.org on 2002/06/07 20:53:12 UTC

cvs commit: jakarta-commons-sandbox/simplestore/src/test/org/apache/commons/simplestore TestAll.java

baliuka     2002/06/07 11:53:12

  Modified:    simplestore/src/java/org/apache/commons/simplestore/persistence/impl
                        MetaClassImpl.java
               simplestore/src/jdbc/org/apache/commons/simplestore/jdbc
                        DBStorage.java
               simplestore/src/test/org/apache/commons/simplestore
                        TestAll.java
  Log:
  Optimizations
  
  Revision  Changes    Path
  1.16      +2 -1      jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/MetaClassImpl.java
  
  Index: MetaClassImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/MetaClassImpl.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- MetaClassImpl.java	13 Apr 2002 21:51:44 -0000	1.15
  +++ MetaClassImpl.java	7 Jun 2002 18:53:12 -0000	1.16
  @@ -65,7 +65,7 @@
    *
    *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *     baliuka@mwm.lt</a>
  - *@version    $Id: MetaClassImpl.java,v 1.15 2002/04/13 21:51:44 baliuka Exp $
  + *@version    $Id: MetaClassImpl.java,v 1.16 2002/06/07 18:53:12 baliuka Exp $
    */
   public class MetaClassImpl implements MetaClass, org.apache.commons.simplestore.tools.Constants  {
       
  @@ -322,6 +322,7 @@
                
               for( int i = 0; i < descriptors.length; i++ ){
                
  +                
                    if ( descriptors[i].getReadMethod() != null &&
                     java.lang.reflect.Modifier.isAbstract( descriptors[i].getReadMethod().getModifiers() )){
                       abstractProps.add(descriptors[i]);
  
  
  
  1.3       +30 -27    jakarta-commons-sandbox/simplestore/src/jdbc/org/apache/commons/simplestore/jdbc/DBStorage.java
  
  Index: DBStorage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/jdbc/org/apache/commons/simplestore/jdbc/DBStorage.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DBStorage.java	6 Jun 2002 17:42:32 -0000	1.2
  +++ DBStorage.java	7 Jun 2002 18:53:12 -0000	1.3
  @@ -77,7 +77,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *      baliuka@mwm.lt</a>
  - *@version    $Id: DBStorage.java,v 1.2 2002/06/06 17:42:32 baliuka Exp $
  + *@version    $Id: DBStorage.java,v 1.3 2002/06/07 18:53:12 baliuka Exp $
    */
   public class DBStorage extends AbstractStorage implements org.apache.commons.simplestore.tools.Constants {
      
  @@ -180,7 +180,7 @@
                           return true;
                       }
                     
  -                    props[ index ] = value;
  +                    props[ index - 1 ] = value;
                       return true;
                   } catch (Throwable t) {
                       t.printStackTrace();
  @@ -209,16 +209,21 @@
       private String propertyList(MetaClass mclass){
       
           final java.beans.PropertyDescriptor[] beanProps = mclass.getProperties();
  -        
  +               
           StringBuffer names = new StringBuffer();
  -        names.append(mclass.getName());
  +        names.append(mclass.getOIDName());
           for (int i = 0; i < beanProps.length; i++) {
               java.beans.PropertyDescriptor descriptor = beanProps[i];
  -            if (descriptor.getWriteMethod() != null) {
  -                names.append("," + mclass.getPropertyName(i) );
  +            names.append(",");
  +              if(!  descriptor.getPropertyType().
  +                  isAssignableFrom(java.util.Collection.class)){
  +                names.append( mclass.getPropertyName(i) );
  +              }else {
  +                names.append( mclass.getOIDName() );
  +              }
                   
               }
  -        }
  +        
       
           return names.toString() + " ";
       }
  @@ -371,19 +376,12 @@
           
           
           final MetaClass mClass =  context.getMetaClass(clasz);
  -        final String sql = "SELECT "+   propertyList(mClass) +  " FROM " + mClass.getName() +
  -        " WHERE " + mClass.getPropertyName(index) + "=?";
  +        final String sql = "SELECT "+   propertyList(mClass) +  " FROM " + 
  +            mClass.getName() +
  +           " WHERE " + mClass.getPropertyName(index) + "=?";
           
  -        excecute( sql, new Object[]{value}, new QueryHandler(objects, clasz,
  -        new EnumeratorCallback(){
  -            
  -            public boolean nextObject(Object object){
  -                return true;
  -            }
  -            
  -        }
  -        )
  -        );
  +        excecute( sql, new Object[]{value},
  +                    new QueryHandler(objects, clasz, null ) );
           
       }
       
  @@ -396,10 +394,12 @@
           EnumeratorCallback callback;
           
           QueryHandler(Set objects, Class clasz,EnumeratorCallback callback) {
  +            
               this.objects = objects;
               this.mClass =  context.getMetaClass(clasz);
               this.descriptors = mClass.getProperties();
               this.callback = callback;
  +            
           }
           
           public boolean nextResult(int index,  Object value ) throws StorageException {
  @@ -409,25 +409,28 @@
                       //try to find in cache first
                       Persistent p = (Persistent) context.getCache().get(value);
                       if ( p != null ) {
  -                        props = null;
  -                        if( objects.add(p)){
  -                            return callback.nextObject(p);
  +                        
  +                        if( objects.add(p) && callback != null ){
  +                            callback.nextObject(p);
  +                            return false;
                           }
                       }
  +                    
                       p = mClass.newInstance( value );
                       MetaObject pc = p.getMetaObject();
                       props = pc.getProperties();
  -                    if( objects.add(p)){
  -                        context.getCache().put(value,p);
  -                        return callback.nextObject(p);
  +                    context.getCache().put(value,p);
  +                    
  +                    if( objects.add(p) && callback != null ){
  +                          return callback.nextObject(p);
                       }
                       
                       return true;
                   }
                   
  +               
                   
  -                
  -                props[  index  ] = value ;
  +                props[  index - 1  ] = value ;
                   
                   return true;
                   
  
  
  
  1.15      +2 -2      jakarta-commons-sandbox/simplestore/src/test/org/apache/commons/simplestore/TestAll.java
  
  Index: TestAll.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/test/org/apache/commons/simplestore/TestAll.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- TestAll.java	2 Jun 2002 11:53:35 -0000	1.14
  +++ TestAll.java	7 Jun 2002 18:53:12 -0000	1.15
  @@ -59,7 +59,7 @@
   /**
    *@author     Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">
    *      g-froehlich@gmx.de</a>
  - *@version    $Id: TestAll.java,v 1.14 2002/06/02 11:53:35 baliuka Exp $
  + *@version    $Id: TestAll.java,v 1.15 2002/06/07 18:53:12 baliuka Exp $
    */
   public class TestAll extends TestCase {
       public TestAll(String testName) {
  @@ -68,7 +68,7 @@
   
       public static Test suite() {
           TestSuite suite = new TestSuite();
  -     //   suite.addTest(TestSample.suite());
  +        suite.addTest(TestSample.suite());
           suite.addTest(TestEnhancer.suite());
          // suite.addTest(TestXmlDbStorage.suite());
           return suite;
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>