You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by oz...@apache.org on 2004/07/12 17:21:55 UTC

cvs commit: jakarta-slide/webdavclient/etc/conf/connector ra.xml

ozeigermann    2004/07/12 08:21:55

  Added:       webdavclient/connector/src/java/org/apache/webdav/connector
                        WebDAVLocalTransaction.java WebDAVConnection.java
                        WebDAVManagedConnectionFactory.java
                        WebDAVConnectionSpec.java
                        WebDAVConnectionFactory.java WebDAVXAResource.java
                        WebDAVManagedConnection.java
               webdavclient/lib commons-transaction-0.1pre.jar
                        geronimo-spec-j2ee-1.0-M1.jar
               webdavclient/etc/conf/connector/jboss
                        webdav-connector-ds.xml
               webdavclient/etc/conf/connector ra.xml
  Log:
  Added initial *untested* version of JCA connector implementation
  
  *** WORK IN PROGRESS ***
  
  Revision  Changes    Path
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVLocalTransaction.java
  
  Index: WebDAVLocalTransaction.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVLocalTransaction.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import java.io.IOException;
  
  import javax.resource.ResourceException;
  import org.apache.webdav.lib.WebdavResource;
  
  /**
   * 
   * @version $Revision: 1.1 $
   * 
   */
  public class WebDAVLocalTransaction implements javax.resource.spi.LocalTransaction, javax.resource.cci.LocalTransaction {
  
      WebdavResource webdavResource;
      String owner;
      int timeout;
  
      public WebDAVLocalTransaction(WebdavResource webdavResource, String owner, int timeout) {
          this.webdavResource = webdavResource;
          this.owner = owner;
          this.timeout = timeout;
      }
  
      public void begin() throws ResourceException {
          try {
              webdavResource.startTransaction(owner, timeout);
          } catch (IOException e) {
              throw new ResourceException("Could not start transaction", e);
          }
      }
  
      public void commit() throws ResourceException {
          try {
              if (!webdavResource.commitTransaction()) {
                  throw new ResourceException("Could not commit transaction");
              }
          } catch (IOException e) {
              throw new ResourceException("Could not commit transaction", e);
          }
      }
  
      public void rollback() throws ResourceException {
          try {
              if (!webdavResource.abortTransaction()) {
                  throw new ResourceException("Could not roll back transaction");
              }
          } catch (IOException e) {
              throw new ResourceException("Could not roll back transaction", e);
          }
      }
  
  }
  
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnection.java
  
  Index: WebDAVConnection.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnection.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import javax.resource.ResourceException;
  import javax.resource.cci.Connection;
  import javax.resource.cci.ConnectionMetaData;
  import javax.resource.cci.Interaction;
  import javax.resource.cci.LocalTransaction;
  import javax.resource.cci.ResultSetInfo;
  import javax.resource.spi.ManagedConnection;
  
  import org.apache.webdav.lib.WebdavResource;
  
  /**
   *   
   * @version $Revision: 1.1 $
   * 
   */
  public class WebDAVConnection implements Connection {
  
      protected WebDAVManagedConnection mc;
      
      public WebDAVConnection(ManagedConnection mc) {
          this.mc = (WebDAVManagedConnection) mc;
      }
  
      public WebdavResource getWebdavResource() {
          return mc.getWebdavResource();
      }
      
      public void close() throws ResourceException {
          mc.close();
      }
  
      public Interaction createInteraction() throws ResourceException {
          return null;
      }
  
      public LocalTransaction getLocalTransaction() throws ResourceException {
          return (LocalTransaction)mc.getLocalTransaction();
      }
  
      public ConnectionMetaData getMetaData() throws ResourceException {
          return null;
      }
  
      public ResultSetInfo getResultSetInfo() throws ResourceException {
          return null;
      }
  
      void invalidate() {
          mc = null;
      }
  
  }
  
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVManagedConnectionFactory.java
  
  Index: WebDAVManagedConnectionFactory.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVManagedConnectionFactory.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import java.io.IOException;
  import java.io.PrintWriter;
  import java.util.Iterator;
  import java.util.Set;
  
  import javax.resource.ResourceException;
  import javax.resource.spi.ConnectionManager;
  import javax.resource.spi.ConnectionRequestInfo;
  import javax.resource.spi.ManagedConnection;
  import javax.resource.spi.ManagedConnectionFactory;
  import javax.security.auth.Subject;
  
  import org.apache.commons.httpclient.HttpException;
  
  
  /**
   *   
   * @version $Revision: 1.1 $
   * 
   */
  public class WebDAVManagedConnectionFactory implements ManagedConnectionFactory {
  
      private PrintWriter writer;
  
      /**
       * @see ManagedConnectionFactory#createConnectionFactory(ConnectionManager)
       */
      public Object createConnectionFactory(ConnectionManager cm)
          throws ResourceException {
  
          return new WebDAVConnectionFactory(this, cm);
      }
  
      /**
       * @see ManagedConnectionFactory#createConnectionFactory()
       */
      public Object createConnectionFactory() throws ResourceException {
  
          return new WebDAVConnectionFactory(this, null);
      }
  
      /**
       * @see ManagedConnectionFactory#createManagedConnection(Subject, ConnectionRequestInfo)
       */
      public ManagedConnection createManagedConnection(
          Subject subject,
          ConnectionRequestInfo cxRequestInfo)
          throws ResourceException {
  
          try {
              return new WebDAVManagedConnection(cxRequestInfo);
          } catch (HttpException e) {
              throw new ResourceException("Could not create managed connection", e);
          } catch (IOException e) {
              throw new ResourceException("Could not create managed connection", e);
          }
      }
  
      /**
       * @see ManagedConnectionFactory#matchManagedConnections(Set, Subject, ConnectionRequestInfo)
       */
      public ManagedConnection matchManagedConnections(
          Set connectionSet,
          Subject subject,
          ConnectionRequestInfo cxRequestInfo)
          throws ResourceException {
  
          ManagedConnection match = null;
          Iterator iterator = connectionSet.iterator();
          if (iterator.hasNext()) {
              match = (ManagedConnection) iterator.next();
          }
  
          return match;
      }
  
      /**
       * @see ManagedConnectionFactory#setLogWriter(PrintWriter)
       */
      public void setLogWriter(PrintWriter writer) throws ResourceException {
  
          this.writer = writer;
      }
  
      /**
       * @see ManagedConnectionFactory#getLogWriter()
       */
      public PrintWriter getLogWriter() throws ResourceException {
  
          return writer;
      }
  
      public boolean equals(Object other) {
  
          if (other instanceof WebDAVManagedConnectionFactory) {
              return true;
          }
          return false;
      }
  
      public int hashCode() {
          
          return 0;
      }
  }
  
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnectionSpec.java
  
  Index: WebDAVConnectionSpec.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnectionSpec.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import javax.resource.cci.ConnectionSpec;
  import javax.resource.spi.ConnectionRequestInfo;
  
  import org.apache.commons.httpclient.HttpURL;
  import org.apache.commons.httpclient.URIException;
  
  /**
   *   
   * @version $Revision: 1.1 $
   * 
   */
  public class WebDAVConnectionSpec implements ConnectionSpec, ConnectionRequestInfo {
      
      /** The http URL on the client connection. */
      protected HttpURL httpURL;
      protected int timeout;
      
      public WebDAVConnectionSpec(HttpURL httpURL, int timeout) {
          this.httpURL = httpURL;
          this.timeout = timeout; 
      
      }
      public WebDAVConnectionSpec(String host, String userName, String password, int timeout) throws URIException {
          this(new HttpURL(userName, password, host), timeout);
      }
  
      protected HttpURL getHttpURL() {
          return httpURL;
      }
  
      protected int getTimeout() {
          return timeout;
      }
  }
  
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnectionFactory.java
  
  Index: WebDAVConnectionFactory.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVConnectionFactory.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import javax.naming.NamingException;
  import javax.naming.Reference;
  import javax.resource.NotSupportedException;
  import javax.resource.ResourceException;
  import javax.resource.cci.Connection;
  import javax.resource.cci.ConnectionFactory;
  import javax.resource.cci.ConnectionSpec;
  import javax.resource.cci.RecordFactory;
  import javax.resource.cci.ResourceAdapterMetaData;
  import javax.resource.spi.ConnectionManager;
  import javax.resource.spi.ManagedConnectionFactory;
  
  /**
   *   
   * @version $Revision: 1.1 $
   * 
   */
  public class WebDAVConnectionFactory implements ConnectionFactory {
  
      Reference reference;
      ConnectionManager cm;
      ManagedConnectionFactory mcf;
  
      public WebDAVConnectionFactory(ManagedConnectionFactory mcf, ConnectionManager cm) {
          System.out.println("MCF Init with mcf " + mcf + " cm " + cm);
          this.mcf = mcf;
          this.cm = cm;
      }
  
      public Connection getConnection() throws ResourceException {
          throw new NotSupportedException(
                  "Need a WebDAVConnectionSpec to create a connection. Call getConnection(ConnectionSpec spec) instead!");
      }
  
      public Connection getConnection(ConnectionSpec spec) throws ResourceException {
          if (!(spec instanceof WebDAVConnectionSpec)) {
              throw new NotSupportedException("Need a WebDAVConnectionSpec to create a connection!");
          }
          System.out.println("Getting connection with spec "+spec);
          return (Connection) cm.allocateConnection(mcf, (WebDAVConnectionSpec)spec);
      }
  
      public RecordFactory getRecordFactory() throws ResourceException {
          return null;
      }
  
      public ResourceAdapterMetaData getMetaData() throws ResourceException {
          return null;
      }
  
      public void setReference(Reference reference) {
          this.reference = reference;
      }
  
      public Reference getReference() throws NamingException {
          return reference;
      }
  
  }
  
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVXAResource.java
  
  Index: WebDAVXAResource.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVXAResource.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import java.io.IOException;
  import java.io.PrintWriter;
  
  import javax.resource.ResourceException;
  import javax.transaction.xa.XAException;
  import javax.transaction.xa.XAResource;
  import javax.transaction.xa.Xid;
  
  import org.apache.commons.transaction.util.LoggerFacade;
  import org.apache.commons.transaction.util.PrintWriterLogger;
  import org.apache.commons.transaction.util.xa.AbstractTransactionalResource;
  import org.apache.commons.transaction.util.xa.AbstractXAResource;
  import org.apache.commons.transaction.util.xa.TransactionalResource;
  import org.apache.webdav.lib.WebdavResource;
  
  /**
   * 
   * @version $Revision: 1.1 $
   *  
   */
  public class WebDAVXAResource extends AbstractXAResource {
  
      protected WebdavResource webdavResource;
  
      protected String owner;
  
      protected int timeout = 10;
  
      protected LoggerFacade loggerFacade;
  
      public WebDAVXAResource(WebdavResource webdavResource, String owner) {
          this.webdavResource = webdavResource;
          this.owner = owner;
      }
  
      protected LoggerFacade getLoggerFacade() {
          return loggerFacade;
      }
  
      protected void setLoggerFacade(PrintWriter out) {
          loggerFacade = new PrintWriterLogger(out, "WebDAVXAResource", true);
      }
  
      public int getTransactionTimeout() throws XAException {
          return timeout;
      }
  
      public boolean setTransactionTimeout(int seconds) throws XAException {
          timeout = seconds;
          return true;
      }
  
      public boolean isSameRM(XAResource xares) throws XAException {
          return (xares != null && xares instanceof WebDAVXAResource && webdavResource
                  .equals(((WebDAVXAResource) xares).webdavResource));
      }
  
      public Xid[] recover(int flag) throws XAException {
          // FIXME no idea how to recover anything here
          return null;
      }
  
      protected TransactionalResource createTransactionResource(Xid xid) throws Exception {
          return new TransactionalWebDAVResource(xid, webdavResource, owner, timeout, getLoggerFacade());
      }
  
      protected static class TransactionalWebDAVResource extends AbstractTransactionalResource {
  
          WebdavResource webdavResource;
          LoggerFacade loggerFacade;
          
          public TransactionalWebDAVResource(Xid xid, WebdavResource webdavResource, String owner, int timeout, LoggerFacade loggerFacade) throws IOException {
              super(xid);
              this.webdavResource = webdavResource;
              webdavResource.startTransaction(owner, timeout);
              this.loggerFacade = loggerFacade;  
          }
  
          public void commit() throws XAException {
              try {
                  webdavResource.commitTransaction();
              } catch (IOException e) {
                  loggerFacade.logWarning("Could not commit transaction", e);
                  throw new XAException("Could not commit transaction");
              }
          }
  
          public void rollback() throws XAException {
              try {
                  webdavResource.abortTransaction();
              } catch (IOException e) {
                  loggerFacade.logWarning("Could not roll back transaction", e);
                  throw new XAException("Could not roll back transaction");
              }
          }
  
          public int prepare() throws XAException {
              return XA_OK;
          }
      }
  }
  
  
  1.1                  jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVManagedConnection.java
  
  Index: WebDAVManagedConnection.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-slide/webdavclient/connector/src/java/org/apache/webdav/connector/WebDAVManagedConnection.java,v 1.1 2004/07/12 15:21:54 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/07/12 15:21:54 $
   *
   * ====================================================================
   *
   * Copyright 2004 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.webdav.connector;
  
  import java.io.IOException;
  import java.io.PrintWriter;
  import java.util.ArrayList;
  import java.util.List;
  import java.util.Iterator;
  
  import javax.resource.ResourceException;
  import javax.resource.spi.ConnectionEvent;
  import javax.resource.spi.ConnectionEventListener;
  import javax.resource.spi.ConnectionRequestInfo;
  import javax.resource.spi.LocalTransaction;
  import javax.resource.spi.ManagedConnection;
  import javax.resource.spi.ManagedConnectionMetaData;
  import javax.security.auth.Subject;
  import javax.transaction.xa.XAResource;
  
  import org.apache.commons.httpclient.HttpException;
  import org.apache.commons.httpclient.URIException;
  import org.apache.webdav.lib.WebdavResource;
  
  /**
   * 
   * @version $Revision: 1.1 $
   *  
   */
  public class WebDAVManagedConnection implements ManagedConnection {
  
      protected WebDAVXAResource xares = null;
  
      protected WebDAVLocalTransaction tx = null;
  
      protected String name = null;
  
      protected WebdavResource webdavResource;
  
      protected WebDAVConnectionSpec webDAVConnectionSpec;
  
      protected WebDAVConnection connection = null;
  
      protected List listeners = new ArrayList();
  
      protected PrintWriter out;
  
      public WebDAVManagedConnection(ConnectionRequestInfo cxRequestInfo) throws HttpException, IOException {
          open((WebDAVConnectionSpec) cxRequestInfo);
      }
  
      public WebdavResource getWebdavResource() {
          return webdavResource;
      }
  
      public void close() {
          ConnectionEvent event = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
          for (Iterator it = listeners.iterator(); it.hasNext();) {
              ((ConnectionEventListener) it.next()).connectionClosed(event);
          }
          connection.invalidate();
          connection = null;
      }
  
      /**
       * @see ManagedConnection#getConnection(Subject, ConnectionRequestInfo)
       */
      public Object getConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException {
  
          if (connection == null) {
              connection = new WebDAVConnection(this);
          }
          return connection;
      }
  
      /**
       * @see ManagedConnection#destroy()
       */
      public void destroy() throws ResourceException {
  
          if (connection != null) {
              connection.invalidate();
              connection = null;
          }
  
          listeners = null;
          name = null;
          xares = null;
          tx = null;
          try {
              webdavResource.close();
          } catch (IOException e) {
              throw new ResourceException(e);
          }
      }
  
      /**
       * @see ManagedConnection#cleanup()
       */
      public void cleanup() throws ResourceException {
          // XXX We should only reset internal state to put our
          // physical connection back to the pool. As I have
          // no idea how to recycle a WebdavResource a have to
          // fully destroy it (Olli Z.)
          destroy();
      }
  
      /**
       * @see ManagedConnection#associateConnection(Object)
       */
      public void associateConnection(Object connection) throws ResourceException {
          if (!(connection instanceof WebDAVConnection)) {
              throw new ResourceException("Connection is not of type WebDAVConnection");
          }
  
          this.connection = (WebDAVConnection) connection;
          try {
              open(this.connection.mc.webDAVConnectionSpec);
          } catch (URIException e) {
              throw new ResourceException("Could not associate connection", e);
          } catch (IOException e) {
              throw new ResourceException("Could not associate connection", e);
          }
          this.connection.mc = this;
      }
  
      /**
       * @see ManagedConnection#addConnectionEventListener(ConnectionEventListener)
       */
      public void addConnectionEventListener(ConnectionEventListener listener) {
  
          listeners.add(listener);
      }
  
      /**
       * @see ManagedConnection#removeConnectionEventListener(ConnectionEventListener)
       */
      public void removeConnectionEventListener(ConnectionEventListener listener) {
  
          listeners.remove(listener);
      }
  
      /**
       * @see ManagedConnection#getXAResource()
       */
      public XAResource getXAResource() throws ResourceException {
          return xares;
      }
  
      /**
       * @see ManagedConnection#getLocalTransaction()
       */
      public LocalTransaction getLocalTransaction() throws ResourceException {
          return tx;
      }
  
      /**
       * @see ManagedConnection#getMetaData()
       */
      public ManagedConnectionMetaData getMetaData() throws ResourceException {
  
          return null;
      }
  
      /**
       * @see ManagedConnection#setLogWriter(PrintWriter)
       */
      public void setLogWriter(PrintWriter out) throws ResourceException {
          this.out = out;
          xares.setLoggerFacade(out);
      }
  
      /**
       * @see ManagedConnection#getLogWriter()
       */
      public PrintWriter getLogWriter() throws ResourceException {
  
          return out;
      }
  
      protected void open(WebDAVConnectionSpec webDAVConnectionSpec) throws IOException, URIException {
          this.webDAVConnectionSpec = webDAVConnectionSpec;
          webdavResource = new WebdavResource(webDAVConnectionSpec.getHttpURL());
          String owner = webDAVConnectionSpec.getHttpURL().getUser();
          if (owner == null)
              owner = "WebDAV Connector";
  
          tx = new WebDAVLocalTransaction(webdavResource, owner, webDAVConnectionSpec.getTimeout());
          xares = new WebDAVXAResource(webdavResource, owner);
      }
  
  }
  
  
  1.1                  jakarta-slide/webdavclient/lib/commons-transaction-0.1pre.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-slide/webdavclient/lib/geronimo-spec-j2ee-1.0-M1.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-slide/webdavclient/etc/conf/connector/jboss/webdav-connector-ds.xml
  
  Index: webdav-connector-ds.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <connection-factories>
  
    <tx-connection-factory>
       <jndi-name>WebDAV-Connector</jndi-name>
       <xa-transaction/>
       <adapter-display-name>WebDAV-Connector</adapter-display-name>
    </tx-connection-factory>
  
  
  </connection-factories>
  
  
  
  1.1                  jakarta-slide/webdavclient/etc/conf/connector/ra.xml
  
  Index: ra.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.0//EN' 'http://java.sun.com/dtd/connector_1_0.dtd'>
  
  <connector>
      <display-name>WebDAV-Connector</display-name>
      <vendor-name>Apache Software Foundation</vendor-name>
      <spec-version>1.0</spec-version>
      <eis-type>WebDAV</eis-type>
      <version>1.0</version>
      <resourceadapter>
          <managedconnectionfactory-class>org.apache.webdav.connector.WebDAVManagedConnectionFactory</managedconnectionfactory-class>
          <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
          <connectionfactory-impl-class>org.apache.webdav.connector.WebDAVConnectionFactory</connectionfactory-impl-class>
          <connection-interface>javax.resource.cci.Connection</connection-interface>
          <connection-impl-class>org.apache.webdav.connector.WebDAVConnection</connection-impl-class>
          <transaction-support>XATransaction</transaction-support>
          <reauthentication-support>false</reauthentication-support>
      </resourceadapter>
  </connector>
  
  
  

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