baliuka     02/03/14 11:42:22

  Modified:    simplestore/src/java/org/apache/commons/simplestore/persistence/impl
                        AbstractStorage.java
                        AutoCommitTransactionManager.java DBStorage.java
                        MetaClassImpl.java TransactionImpl.java
  Log:
  no message
  
  Revision  Changes    Path
  1.8       +5 -5      
jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/AbstractStorage.java
  
  Index: AbstractStorage.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/AbstractStorage.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AbstractStorage.java      14 Mar 2002 15:44:02 -0000      1.7
  +++ AbstractStorage.java      14 Mar 2002 19:42:22 -0000      1.8
  @@ -69,7 +69,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]";>
    *      [EMAIL PROTECTED]</a>
  - *@version    $Id: AbstractStorage.java,v 1.7 2002/03/14 15:44:02 baliuka Exp $
  + *@version    $Id: AbstractStorage.java,v 1.8 2002/03/14 19:42:22 baliuka Exp $
    */
   
   public abstract class AbstractStorage
  @@ -83,15 +83,15 @@
       }
       
       public Object getAttribute(String name) {
  -        return getTransaction().getAttribute(name);
  +           throw new java.lang.NoSuchMethodError();
       }
       
       public void removeAttribute(String name) {
  -        getTransaction().removeAttribute(name);
  +           throw new java.lang.NoSuchMethodError();
       }
       
       public void setAttribute(String name, Object value) {
  -        getTransaction().setAttribute( name, value);
  +           throw new java.lang.NoSuchMethodError();
       }
       
       
  @@ -105,7 +105,7 @@
       }
       
       public void add(MetaObject props) {
  -        ((InternalTransaction) getTransaction()).add(props);
  +           throw new java.lang.NoSuchMethodError();
       }
       
       public void commit() {
  
  
  
  1.2       +3 -3      
jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/AutoCommitTransactionManager.java
  
  Index: AutoCommitTransactionManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/AutoCommitTransactionManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AutoCommitTransactionManager.java 14 Mar 2002 16:45:02 -0000      1.1
  +++ AutoCommitTransactionManager.java 14 Mar 2002 19:42:22 -0000      1.2
  @@ -61,7 +61,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]";>
    *      [EMAIL PROTECTED]</a>
  - *@version    $Id: AutoCommitTransactionManager.java,v 1.1 2002/03/14 16:45:02 
baliuka Exp $
  + *@version    $Id: AutoCommitTransactionManager.java,v 1.2 2002/03/14 19:42:22 
baliuka Exp $
    */
   public class AutoCommitTransactionManager implements 
TransactionManager,InternalTransaction{
       
  @@ -79,14 +79,14 @@
       public void add(MetaObject props) {
         try{  
          tm.getTransaction().begin(); 
  -      }catch(java.lang.IllegalStateException ise){
  +      }catch(java.lang.Exception ise){
          //
         }
         tm.getTransaction().add(props);
         
        try{  
          tm.getTransaction().commit(); 
  -      }catch(java.lang.IllegalStateException ise){
  +      }catch(java.lang.Exception ise){
          //
         }
         
  
  
  
  1.11      +5 -2      
jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/DBStorage.java
  
  Index: DBStorage.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/DBStorage.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DBStorage.java    14 Mar 2002 15:44:02 -0000      1.10
  +++ DBStorage.java    14 Mar 2002 19:42:22 -0000      1.11
  @@ -85,7 +85,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]";>
    *      [EMAIL PROTECTED]</a>
  - *@version    $Id: DBStorage.java,v 1.10 2002/03/14 15:44:02 baliuka Exp $
  + *@version    $Id: DBStorage.java,v 1.11 2002/03/14 19:42:22 baliuka Exp $
    */
   public class DBStorage extends AbstractStorage implements 
org.apache.commons.simplestore.tools.Constants {
       
  @@ -415,7 +415,10 @@
           Connection connection = (Connection) 
context.getTransactionManager().getTransaction().getAttribute(CONNECTION);
           
           if (connection == null) {
  -            throw new IllegalStateException("Transaction not Started");
  +           // for auto comit, not wery good idea :( 
  +           context.getTransactionManager().getTransaction().begin(); 
  +           connection = (Connection) 
context.getTransactionManager().getTransaction().getAttribute(CONNECTION);
  +           // throw new IllegalStateException("Transaction not Started");
           }
           
           return connection;
  
  
  
  1.11      +24 -31    
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- MetaClassImpl.java        14 Mar 2002 16:45:02 -0000      1.10
  +++ MetaClassImpl.java        14 Mar 2002 19:42:22 -0000      1.11
  @@ -65,7 +65,7 @@
    *
    *@author     Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]";>
    *     [EMAIL PROTECTED]</a>
  - *@version    $Id: MetaClassImpl.java,v 1.10 2002/03/14 16:45:02 baliuka Exp $
  + *@version    $Id: MetaClassImpl.java,v 1.11 2002/03/14 19:42:22 baliuka Exp $
    */
   public class MetaClassImpl implements MetaClass, 
org.apache.commons.simplestore.tools.Constants  {
       
  @@ -80,6 +80,7 @@
       private Field[] fieldArray;
       private Context context;
       private static OIDGenerator generator = new RandomOIDGenerator();
  +    private ClassLoader loader;
       
       private java.util.Map fields = new java.util.HashMap();
       
  @@ -108,7 +109,7 @@
       }
       
       
  -    static class Field {
  +    class Field {
           
           Field( String id, String name ){
               this.id = id;
  @@ -190,10 +191,10 @@
           public void setReferenceClass( String referencedClass ) {
               try{
                  if(referencedClass != null) 
  -                this.refClass = Class.forName( 
referencedClass,false,getClass().getClassLoader());
  +                this.refClass = Class.forName( referencedClass,false,loader);
               }catch(Throwable t){
                   t.printStackTrace();
  -                throw new java.lang.NoClassDefFoundError(referencedClass);
  +                throw new java.lang.NoClassDefFoundError( t.getClass().getName() + 
":" +  referencedClass);
               }
           }
           
  @@ -215,17 +216,10 @@
       
       
       /** Creates new MetaClassImpl */
  -    public MetaClassImpl()throws Exception{
  -        
  +    public MetaClassImpl(ClassLoader loader)throws Exception{
  +        this.loader = loader;
       }
       
  -    private MetaClassImpl(Class clasz) {
  -        this.clasz = clasz;
  -        indexMethods();
  -        if( persitentClasses.put( clasz, this ) != null )
  -            throw new java.lang.IllegalStateException("Dublicate MetaClass for " + 
clasz.getName());
  -        
  -    }
       
       public boolean isReference(java.lang.reflect.Member member) {
           
  @@ -296,9 +290,6 @@
           MetaClassImpl mc =  (MetaClassImpl)persitentClasses.get(clasz.getName());
           if( mc == null ){
               throw new SimplestoreException("Not persistent Class " + 
clasz.getName());
  -        //    mc = new MetaClassImpl(clasz);
  -      //      System.out.println("create " + clasz.getName());
  -       //     persitentClasses.put(clasz.getName(),mc);
           }
           
           mc.setContext(context);
  @@ -390,12 +381,6 @@
           
       }
       
  -    private void indexMethods(){
  -      
  -      //      throw new Error("indexMethods");
  -      //     indexMethodsFromMetaData();
  -        
  -    }
       
       
       static String toSQLName(String clName) {
  @@ -502,9 +487,10 @@
           MetaClassImpl currentClass ;
           Field currentField;
           Validator currentValidator;
  +        ClassLoader loader;
           
  -        StorageHandlerImpl( ){
  -            
  +        StorageHandlerImpl(ClassLoader loader ){
  +            this.loader = loader;
           }
           
           
  @@ -539,7 +525,7 @@
           public void start_validator(final Attributes meta) throws SAXException {
              try{ 
               currentValidator = (Validator)Class.forName(meta.getValue("id")
  -                            ,false,getClass().getClassLoader()).newInstance();
  +                            ,false,loader).newInstance();
               currentField.setValidator(currentValidator);
              }catch(Exception e){
                rethrow(e);
  @@ -574,12 +560,16 @@
           public void start_mclass(final Attributes meta) throws SAXException {
               
               try{
  -                Class clasz  = Class.forName( meta.getValue("id"),false, 
getClass().getClassLoader()) ;
  +                Class clasz  = Class.forName( meta.getValue("id"),false, loader) ;
                   currentClass  = 
(MetaClassImpl)persitentClasses.get(clasz.getName());
                   if ( currentClass == null ){
  -                    currentClass = new MetaClassImpl();
  +                    currentClass = new MetaClassImpl(loader);
                       currentClass.clasz = clasz;
                       persitentClasses.put(clasz.getName(),currentClass);
  +                    Class interfaces[] = clasz.getInterfaces();
  +                    for(int i = 0; i< interfaces.length; i++){
  +                     persitentClasses.put(interfaces[i].getName(),currentClass);
  +                    }
                   }
                   currentClass.setDescriptors();
                   currentClass.sqlName = meta.getValue("name");
  @@ -619,12 +609,15 @@
       public static void parse(String resName) throws SAXException, 
javax.xml.parsers.ParserConfigurationException, java.io.IOException {
           parse(
           
  -        Thread.currentThread().getContextClassLoader().getResourceAsStream(resName)
  -        
  +        Thread.currentThread().getContextClassLoader().getResourceAsStream(resName),
  +        null
           );
       }
  -    public static void parse(java.io.InputStream is) throws SAXException, 
javax.xml.parsers.ParserConfigurationException, java.io.IOException {
  -        StorageParser.parse(new InputSource(is), new StorageHandlerImpl());
  +    public static void parse(java.io.InputStream is,java.lang.ClassLoader loader) 
throws SAXException, javax.xml.parsers.ParserConfigurationException, 
java.io.IOException {
  +        if( loader == null ){
  +            loader = MetaClassImpl.class.getClassLoader();
  +        }
  +        StorageParser.parse(new InputSource(is), new StorageHandlerImpl(loader));
       }
       
       
  
  
  
  1.5       +3 -2      
jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/TransactionImpl.java
  
  Index: TransactionImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/simplestore/src/java/org/apache/commons/simplestore/persistence/impl/TransactionImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TransactionImpl.java      11 Mar 2002 15:40:53 -0000      1.4
  +++ TransactionImpl.java      14 Mar 2002 19:42:22 -0000      1.5
  @@ -68,7 +68,7 @@
   /**
    *@author     Juozas Baliuka <a href="mailto:[EMAIL PROTECTED]";>
    *      [EMAIL PROTECTED]</a>
  - *@version    $Id: TransactionImpl.java,v 1.4 2002/03/11 15:40:53 baliuka Exp $
  + *@version    $Id: TransactionImpl.java,v 1.5 2002/03/14 19:42:22 baliuka Exp $
    */
   
   public class TransactionImpl 
  @@ -193,7 +193,8 @@
   
       void checkState(boolean b) {
           if (!b) {
  -            throw new IllegalStateException("Illegal Transaction state");
  +            new Exception().printStackTrace();
  +            throw new IllegalStateException("Illegal Transaction state" + 
transaction.getClass().getName());
           }
       }
   
  
  
  

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

Reply via email to