001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.commons.io.res.type.datasource;
020
021import java.io.InputStream;
022import java.sql.SQLException;
023
024import lucee.commons.io.res.type.datasource.core.Core;
025import lucee.runtime.db.DatasourceConnection;
026
027public class DataWriter extends Thread {
028
029        private Core core;
030        private DatasourceConnection dc;
031        private String prefix;
032        private Attr attr;
033        private InputStream is;
034        private SQLException e;
035        private boolean append;
036
037        private DatasourceResourceProvider drp;
038
039        public DataWriter(Core core, DatasourceConnection dc, String prefix, Attr attr, InputStream is, DatasourceResourceProvider drp, boolean append) {
040                this.core=core;
041                this.dc=dc;
042                this.prefix=prefix;
043                this.attr=attr;
044                this.is=is;
045                this.drp=drp;
046                this.append=append;
047        }
048
049        public void run(){
050                try {
051                        core.write(dc, prefix, attr, is,append);
052                        drp.release(dc);
053                //manager.releaseConnection(connId,dc);
054                } 
055                catch (SQLException e) {
056                        this.e=e;
057                }
058        }
059        
060
061
062        public SQLException getException() {
063                return e;
064        }
065}