001    //$HeadURL$
002    /*----------------    FILE HEADER  ------------------------------------------
003     This file is part of deegree.
004     Copyright (C) 2001-2008 by:
005     Department of Geography, University of Bonn
006     http://www.giub.uni-bonn.de/deegree/
007     lat/lon GmbH
008     http://www.lat-lon.de
009    
010     This library is free software; you can redistribute it and/or
011     modify it under the terms of the GNU Lesser General Public
012     License as published by the Free Software Foundation; either
013     version 2.1 of the License, or (at your option) any later version.
014     This library is distributed in the hope that it will be useful,
015     but WITHOUT ANY WARRANTY; without even the implied warranty of
016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017     Lesser General Public License for more details.
018     You should have received a copy of the GNU Lesser General Public
019     License along with this library; if not, write to the Free Software
020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021     Contact:
022    
023     Andreas Poth
024     lat/lon GmbH
025     Aennchenstr. 19
026     53177 Bonn
027     Germany
028     E-Mail: poth@lat-lon.de
029    
030     Prof. Dr. Klaus Greve
031     Department of Geography
032     University of Bonn
033     Meckenheimer Allee 166
034     53115 Bonn
035     Germany
036     E-Mail: greve@giub.uni-bonn.de
037     ---------------------------------------------------------------------------*/
038    
039    package org.deegree.ogcwebservices.csw.manager;
040    
041    import org.deegree.ogcwebservices.EchoRequest;
042    import org.deegree.ogcwebservices.MissingParameterValueException;
043    import org.deegree.ogcwebservices.OGCWebServiceException;
044    import org.deegree.ogcwebservices.csw.configuration.CatalogueConfiguration;
045    import org.deegree.ogcwebservices.wfs.WFService;
046    
047    /**
048     * 
049     * 
050     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
051     * @author last edited by: $Author: poth $
052     * 
053     * @version. $Revision: 6251 $, $Date: 2007-03-19 16:59:28 +0100 (Mo, 19 Mrz 2007) $
054     */
055    public interface Manager {
056    
057        /**
058         * @return the wfsService.
059         */
060        public WFService getWFService();
061    
062        /**
063         * 
064         * @param wfsService
065         * @param catalogueConfiguration
066         * @throws MissingParameterValueException
067         */
068        public void init( WFService wfsService, CatalogueConfiguration catalogueConfiguration )
069                                throws MissingParameterValueException;
070    
071        /**
072         * @param request
073         * @return An echorequest (e.g. a response to an harvest request).
074         * @throws OGCWebServiceException
075         *             if something went wrong while processing the request
076         */
077        public EchoRequest harvestRecords( Harvest request )
078                                throws OGCWebServiceException;
079    
080        /**
081         * performs a transaction request by transforming and forwarding it to the WFS used as backend
082         * 
083         * @param request
084         * @return Created by sending the request to the underlying wfs.
085         * @throws OGCWebServiceException
086         */
087        public TransactionResult transaction( Transaction request )
088                                throws OGCWebServiceException;
089    
090    }