001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/csw/manager/TransactionResult.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003    
004     This file is part of deegree.
005     Copyright (C) 2001-2008 by:
006     EXSE, Department of Geography, University of Bonn
007     http://www.giub.uni-bonn.de/deegree/
008     lat/lon GmbH
009     http://www.lat-lon.de
010    
011     This library is free software; you can redistribute it and/or
012     modify it under the terms of the GNU Lesser General Public
013     License as published by the Free Software Foundation; either
014     version 2.1 of the License, or (at your option) any later version.
015    
016     This library is distributed in the hope that it will be useful,
017     but WITHOUT ANY WARRANTY; without even the implied warranty of
018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
019     Lesser General Public License for more details.
020    
021     You should have received a copy of the GNU Lesser General Public
022     License along with this library; if not, write to the Free Software
023     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
024    
025     Contact:
026    
027     Andreas Poth
028     lat/lon GmbH
029     Aennchenstr. 19
030     53115 Bonn
031     Germany
032     E-Mail: poth@lat-lon.de
033    
034     Prof. Dr. Klaus Greve
035     Department of Geography
036     University of Bonn
037     Meckenheimer Allee 166
038     53115 Bonn
039     Germany
040     E-Mail: greve@giub.uni-bonn.de
041     
042     ---------------------------------------------------------------------------*/
043    
044    package org.deegree.ogcwebservices.csw.manager;
045    
046    import org.deegree.framework.xml.XMLParsingException;
047    import org.deegree.ogcwebservices.DefaultOGCWebServiceResponse;
048    import org.deegree.ogcwebservices.OGCWebServiceRequest;
049    import org.w3c.dom.Element;
050    
051    /**
052     * 
053     * 
054     * 
055     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
056     * @author last edited by: $Author: apoth $
057     * 
058     * @version $Revision: 9345 $, $Date: 2007-12-27 17:22:25 +0100 (Do, 27 Dez 2007) $
059     */
060    public class TransactionResult extends DefaultOGCWebServiceResponse {
061    
062        private int totalInserted = 0;
063    
064        private int totalDeleted = 0;
065    
066        private int totalUpdated = 0;
067    
068        private InsertResults results = null;
069    
070        /**
071         * 
072         * @param transaction
073         * @param root
074         * @return
075         * @throws XMLParsingException
076         */
077        public static final TransactionResult create( Transaction transaction, Element root )
078                                throws XMLParsingException {
079            TransactionResultDocument doc = new TransactionResultDocument();
080            doc.setRootElement( root );
081            return doc.parseTransactionResponse( transaction );
082        }
083    
084        /**
085         * 
086         * @param transaction
087         *            source Transaction request
088         * @param totalInserted
089         *            the amount of records that has been inserted
090         * @param totalDeleted
091         *            the amount of records that has been deleted
092         * @param totalUpdated
093         *            the amount of records that has been updated
094         * @param results
095         *            insert result description
096         */
097        public TransactionResult( OGCWebServiceRequest transaction, int totalInserted, int totalDeleted,
098                           int totalUpdated, InsertResults results ) {
099            super( transaction );
100            this.totalInserted = totalInserted;
101            this.totalDeleted = totalDeleted;
102            this.totalUpdated = totalUpdated;
103            this.results = results;
104        }
105    
106        /**
107         * returns insert result description
108         * 
109         * @return insert result description
110         */
111        public InsertResults getResults() {
112            return results;
113        }
114    
115        /**
116         * returns the amount of records that has been deleted
117         * 
118         * @return the amount of records that has been deleted
119         */
120        public int getTotalDeleted() {
121            return totalDeleted;
122        }
123    
124        /**
125         * returns the amount of records that has been inserted
126         * 
127         * @return the amount of records that has been inserted
128         */
129        public int getTotalInserted() {
130            return totalInserted;
131        }
132    
133        /**
134         * returns the amount of records that has been updated
135         * 
136         * @return the amount of records that has been updated
137         */
138        public int getTotalUpdated() {
139            return totalUpdated;
140        }
141    
142    }