You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2005/10/27 21:57:52 UTC

svn commit: r328942 - /webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java

Author: jochen
Date: Thu Oct 27 12:57:38 2005
New Revision: 328942

URL: http://svn.apache.org/viewcvs?rev=328942&view=rev
Log:
Added support for the TaminoAPI4J without the resource adapter.
In other words, this is usable in the absence of an EJB container.

Modified:
    webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java

Modified: webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java
URL: http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java?rev=328942&r1=328941&r2=328942&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java (original)
+++ webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/ino/api4j/TaminoAPI4JPm.java Thu Oct 27 12:57:38 2005
@@ -13,11 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
 package org.apache.ws.jaxme.pm.ino.api4j;
 
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
 import javax.xml.bind.Element;
 import javax.xml.bind.JAXBException;
 
@@ -38,8 +35,6 @@
 import com.softwareag.tamino.db.api.accessor.TUpdateException;
 import com.softwareag.tamino.db.api.accessor.TXMLObjectAccessor;
 import com.softwareag.tamino.db.api.connection.TConnection;
-import com.softwareag.tamino.db.api.connection.TServerNotAvailableException;
-import com.softwareag.tamino.db.api.connector.TaminoDataSource;
 import com.softwareag.tamino.db.api.objectModel.TIteratorException;
 import com.softwareag.tamino.db.api.objectModel.TNoSuchXMLObjectException;
 import com.softwareag.tamino.db.api.objectModel.TXMLObject;
@@ -48,13 +43,16 @@
 import com.softwareag.tamino.db.api.objectModel.sax.TSAXObjectModel;
 import com.softwareag.tamino.db.api.response.TResponse;
 
-/**
- * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+
+/** Common base class for
+ * {@link org.apache.ws.jaxme.pm.ino.api4j.TaminoAPI4JRaPm}, and
+ * {@link org.apache.ws.jaxme.pm.ino.api4j.TaminoAPI4JDbPm}.
  */
-public class TaminoAPI4JPm extends PMImpl {
+public abstract class TaminoAPI4JPm extends PMImpl {
     private static final ThreadLocal context = new ThreadLocal();
-    private static TSAXObjectModel model;
+	private String collection;
     private static boolean isInitialized;
+    private static TSAXObjectModel model;
 
     static JAXBContextImpl getJAXBContext() {
         return (JAXBContextImpl) context.get();
@@ -64,32 +62,12 @@
         context.set(pContext);
     }
 
-    private String collection;
-    private String jndiReference;
-
-    public String getCollection() {
-        return collection;
-    }
-
-    public void setCollection(String pCollection) {
-        collection = pCollection;
-    }
-
-    public String getJndiReference() {
-        return jndiReference;
-    }
-
-    public void setJndiReference(String pJndiReference) {
-        jndiReference = pJndiReference;
-    }
-
     public void init(JMManager pManager) throws JAXBException {
         super.init(pManager);
         if (!isInitialized) {
-            synchronized(TaminoAPI4JPm.class) {
+            synchronized(TaminoAPI4JRaPm.class) {
                 if (!isInitialized) {
-                    System.err.println("Registering object model in class " + TXMLObjectModel.class + " with class loader " + TXMLObjectModel.class.getClassLoader());
-                    TSAXObjectModel m = new TSAXObjectModel(TaminoAPI4JPm.class.getName(),
+                    TSAXObjectModel m = new TSAXObjectModel(TaminoAPI4JRaPm.class.getName(),
                             								TJMElement.class, TJMElement.class,
                             								new DocumentDefaultHandler(),
 															new ElementDefaultHandler());
@@ -103,12 +81,20 @@
         if (collection == null  ||  collection.length() == 0) {
             throw new JAXBException("The property 'collection' must be set.");
         }
-        jndiReference = pManager.getProperty("jndiReference");
-        if (jndiReference == null  ||  jndiReference.length() == 0) {
-            throw new JAXBException("The property 'jndiReference' must be set.");
-        }
     }
-    
+
+	/** Returns the Tamino database collection.
+	 */
+	public String getCollection() {
+	    return collection;
+	}
+
+	/** Sets the Tamino database collection.
+	 */
+	public void setCollection(String pCollection) {
+	    collection = pCollection;
+	}
+
     protected TXMLObject getTXMLObject(InoObject pElement) {
         return TXMLObject.newInstance(new TJMElement(pElement));
     }
@@ -117,17 +103,12 @@
         return model;
     }
 
-    protected TConnection getTConnection() throws NamingException, TServerNotAvailableException {
-        InitialContext ic = new InitialContext();
-        TaminoDataSource tds = (TaminoDataSource) ic.lookup(jndiReference);
-        TConnection con =  tds.getConnection();
-        return con;
-    }
+    protected abstract TConnection getTConnection() throws PMException;
 
     public void select(Observer pObserver, String pQuery, PMParams pParams) throws PMException {
         TConnection conn = null;
         try {
-            JAXBContextImpl c = getManager().getFactory();
+        	JAXBContextImpl c = getManager().getFactory();
             setJAXBContext(c);
             JMUnmarshallerHandlerImpl h = (JMUnmarshallerHandlerImpl) c.createUnmarshaller().getUnmarshallerHandler();
             DocumentDefaultHandler.setUnmarshallerHandler(h);
@@ -140,10 +121,6 @@
                 TXMLObject object = iter.next();
                 pObserver.notify(((TJMElement) object.getElement()).getJMElement());
             }
-        } catch (TServerNotAvailableException e) {
-            throw new PMException(e);
-        } catch (NamingException e) {
-            throw new PMException(e);
         } catch (TQueryException e) {
             throw new PMException(e);
         } catch (TNoSuchXMLObjectException e) {
@@ -167,10 +144,6 @@
             conn = getTConnection();
             TXMLObjectAccessor accessor = conn.newXMLObjectAccessor(TAccessLocation.newInstance(collection), model);
             accessor.insert(getTXMLObject((InoObject) pElement));
-        } catch (TServerNotAvailableException e) {
-            throw new PMException(e);
-        } catch (NamingException e) {
-            throw new PMException(e);
         } catch (TInsertException e) {
             throw new PMException(e);
         } finally {
@@ -186,10 +159,6 @@
             conn = getTConnection();
             TXMLObjectAccessor accessor = conn.newXMLObjectAccessor(TAccessLocation.newInstance(collection), model);
             accessor.update(getTXMLObject((InoObject) pElement));
-        } catch (TServerNotAvailableException e) {
-            throw new PMException(e);
-        } catch (NamingException e) {
-            throw new PMException(e);
         } catch (TUpdateException e) {
             throw new PMException(e);
         } finally {
@@ -205,10 +174,6 @@
             conn = getTConnection();
             TXMLObjectAccessor accessor = conn.newXMLObjectAccessor(TAccessLocation.newInstance(collection), model);
             accessor.delete(getTXMLObject((InoObject) pElement));
-        } catch (TServerNotAvailableException e) {
-            throw new PMException(e);
-        } catch (NamingException e) {
-            throw new PMException(e);
         } catch (TDeleteException e) {
             throw new PMException(e);
         } finally {



---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org