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/03/04 23:11:40 UTC

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

baliuka     02/03/04 14:11:40

  Modified:    simplestore/src/java/org/apache/commons/simplestore/persistence/impl
                        PersistentProxy.java
               simplestore/src/java/org/apache/commons/simplestore/tools
                        Enhancer.java
               simplestore/src/test/org/apache/commons/simplestore
                        TestAll.java TestEnhancer.java
  Log:
  bug fixes for Enhancer
  
  Revision  Changes    Path
  1.9       +6 -1      jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/PersistentProxy.java
  
  Index: PersistentProxy.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/PersistentProxy.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PersistentProxy.java	28 Feb 2002 18:28:41 -0000	1.8
  +++ PersistentProxy.java	4 Mar 2002 22:11:40 -0000	1.9
  @@ -74,7 +74,7 @@
    *      baliuka@mwm.lt</a>
    *@author     Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">
    *      g-froehlich@gmx.de</a>
  - *@version    $Id: PersistentProxy.java,v 1.8 2002/02/28 18:28:41 baliuka Exp $
  + *@version    $Id: PersistentProxy.java,v 1.9 2002/03/04 22:11:40 baliuka Exp $
    */
   public class PersistentProxy
   implements MetaObject, InvocationHandler, Cloneable, Serializable {
  @@ -312,6 +312,11 @@
       
       public boolean isClean() {
           return m_clean;
  +    }
  +    public void handle( java.lang.reflect.Method m, java.lang.Throwable e   ){
  +        System.out.println("Error in " + m.getName());
  +        e.printStackTrace();
  +        throw new java.lang.RuntimeException(e.toString());
       }
       
       static {
  
  
  
  1.7       +23 -9     jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/tools/Enhancer.java
  
  Index: Enhancer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/tools/Enhancer.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Enhancer.java	4 Mar 2002 18:27:23 -0000	1.6
  +++ Enhancer.java	4 Mar 2002 22:11:40 -0000	1.7
  @@ -63,11 +63,11 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *      baliuka@mwm.lt</a>
  - *@version    $Id: Enhancer.java,v 1.6 2002/03/04 18:27:23 baliuka Exp $
  + *@version    $Id: Enhancer.java,v 1.7 2002/03/04 22:11:40 baliuka Exp $
    */
   public class Enhancer implements org.apache.bcel.Constants{
       
  -    static boolean DEBUG = true;
  +    static boolean DEBUG = false;
       
       static final String INTERCEPTOR_CLASS = MethodInterceptor.class.getName();
       
  @@ -223,7 +223,9 @@
               for( int i = 0 ; i < methods.length; i++ ){
                   int mod = methods[i].getModifiers();
                   if( !java.lang.reflect.Modifier.isStatic(mod) && 
  -                    !java.lang.reflect.Modifier.isFinal(mod) ){
  +                    !java.lang.reflect.Modifier.isFinal(mod) &&
  +                   ( java.lang.reflect.Modifier.isPublic(mod)|| 
  +                     java.lang.reflect.Modifier.isProtected(mod)) ){
                       methodSet.add(methods[i]);
                       
                   }
  @@ -339,11 +341,13 @@
           il.append( new ASTORE( stack  ) );
           il.append( new ALOAD( stack  ) );
           if( returnType instanceof ObjectType ) {
  +             if(!returnType.equals(Type.OBJECT))
  +             il.append( new CHECKCAST( cp.addClass( (ObjectType)returnType ) ) );
               return il.append( new ARETURN() );
           }else if ( returnType instanceof BasicType  ){
               if ( returnType.equals( Type.BOOLEAN )  ){
                   il.append( new CHECKCAST( cp.addClass( BOOLEAN_OBJECT ) ) );
  -                il.append( factory.createInvoke(Boolean.class.getName(),"boolValue",
  +                il.append( factory.createInvoke(Boolean.class.getName(),"booleanValue",
                   Type.BOOLEAN,new Type[]{},INVOKEVIRTUAL )
                   );
                   return   il.append( new IRETURN());
  @@ -556,6 +560,8 @@
           
           int loaded = createArgArray(il,factory,cp,mg.getArgumentTypes());
           int argArray = loaded;
  +        int resutFromBefore = ++loaded ;
  +         
           il.append( new ASTORE(argArray) );
           if(!abstractM){// invoke before
               il.append( new ALOAD(0) );
  @@ -564,10 +570,13 @@
               il.append( factory.createGetStatic(cg.getClassName(),fieldName, METHOD_OBJECT ) );
               il.append( new ALOAD( argArray  ) );
               il.append( new INVOKEINTERFACE(before,4) );
  +            il.append( new ASTORE( resutFromBefore ) );
  +         
  +        }else {
  +          il.append( new ACONST_NULL() );
  +          il.append( new ASTORE( resutFromBefore ) );
           }
           //locals
  -        int resutFromBefore = ++loaded ;
  -        il.append( new ASTORE( resutFromBefore ) );
           il.append( new ACONST_NULL() );
           int resultFromSuper = ++loaded;
           il.append( new ASTORE( resultFromSuper ) );
  @@ -606,10 +615,15 @@
               if( wrapper != null ){
                   il.append( initWrapper(mg.getReturnType(),cp) );
               }
  -            
  -            ehEnd = il.append( new ASTORE(resultFromSuper) );
  +           if( returnsValue ){ 
  +             ehEnd = il.append( new ASTORE(resultFromSuper) );
  +           }
               gotoHandled = new GOTO(null);
  -            il.append( gotoHandled );
  +           if(!returnsValue ){ 
  +             ehEnd = il.append( gotoHandled );
  +           }else{
  +             il.append( gotoHandled );  
  +           }
               ehHandled =  il.append( new ASTORE(error ) );
           }
           
  
  
  
  1.9       +2 -3      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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TestAll.java	9 Feb 2002 19:19:01 -0000	1.8
  +++ TestAll.java	4 Mar 2002 22:11:40 -0000	1.9
  @@ -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.8 2002/02/09 19:19:01 froehlich Exp $
  + *@version    $Id: TestAll.java,v 1.9 2002/03/04 22:11:40 baliuka Exp $
    */
   public class TestAll extends TestCase {
       public TestAll(String testName) {
  @@ -68,9 +68,8 @@
   
       public static Test suite() {
           TestSuite suite = new TestSuite();
  -        //suite.addTest(TestSoftRefMemoryStore.suite());
  -        TestPersistent.class.getName();
           suite.addTest(TestSample.suite());
  +        suite.addTest(TestEnhancer.suite());
           return suite;
       }
   
  
  
  
  1.2       +16 -6     jakarta-commons-sandbox/simplestore/src/test/org/apache/commons/simplestore/TestEnhancer.java
  
  Index: TestEnhancer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/simplestore/src/test/org/apache/commons/simplestore/TestEnhancer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestEnhancer.java	4 Mar 2002 18:27:23 -0000	1.1
  +++ TestEnhancer.java	4 Mar 2002 22:11:40 -0000	1.2
  @@ -64,7 +64,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:baliuka@mwm.lt">
    *      baliuka@mwm.lt</a>
  - *@version    $Id: TestEnhancer.java,v 1.1 2002/03/04 18:27:23 baliuka Exp $
  + *@version    $Id: TestEnhancer.java,v 1.2 2002/03/04 22:11:40 baliuka Exp $
    */
   public class TestEnhancer  extends TestCase {
       
  @@ -86,7 +86,7 @@
           //test enchance vector:
           java.util.Vector vector = (java.util.Vector)Enhancer.enhance(
           java.util.Vector.class,
  -        new Class[]{TestPersistent.class},
  +        null,
           
           new MethodInterceptor(){
               
  @@ -94,7 +94,7 @@
               public Object beforeInvoke( Object obj,java.lang.reflect.Method method,
               Object args[] )
               throws java.lang.Throwable{
  -               System.out.println("beforeInvoke:" + method);
  +               System.err.println("beforeInvoke:" + method);
                return null;
               }
               
  @@ -102,7 +102,7 @@
               Object args[], Object retValFromBefore )
               throws java.lang.Throwable{
                  
  -                System.out.println("invokeSuper:" + method);
  +                System.err.println("invokeSuper:" + method);
                   
                return true;//let super to call this
               }
  @@ -112,13 +112,23 @@
               boolean invokedSuper, Object retValFromSuper,
               java.lang.Throwable e )throws java.lang.Throwable{
                   
  -               System.out.println("afterReturn:" + method);
  +               System.err.println("afterReturn:" + method + " returned:" + retValFromSuper);
                  
                 return retValFromSuper;//return the same as supper
               }
               
           });
  -      vector.add("");      
  +      //TODO : Add meanigful asserts  
  +      vector.add(null);
  +      vector.elements();  
  +      vector.size();  
  +      vector.add(this);
  +      vector.add("VALUE");
  +      vector.add(vector);
  +      vector.remove("VALUE");  
  +      vector.remove(vector);  
  +      vector.contains("VALUE");
  +      
       }
         
   }
  
  
  

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