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]>