001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/csw/configuration/CatalogueDeegreeParams.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.configuration;
045    
046    import org.deegree.datatypes.xlink.SimpleLink;
047    import org.deegree.enterprise.DeegreeParams;
048    import org.deegree.io.JDBCConnection;
049    import org.deegree.model.metadata.iso19115.OnlineResource;
050    
051    /**
052     * Represents the specific <code>deegreeParams</code> section of the configuration for a deegree
053     * CSW 2.0 instance. This class encapsulates the deegree CWS specific parameters and inherits the
054     * parameters from the <code>DeegreeParams</code> class.
055     * <p>
056     * It adds the following elements to the common <code>deegreeParams<code>:<table border="1">
057     * <tr>
058     * <th>Name</th>
059     * <th>Mandatory</th>
060     * <th>Function</th>
061     * </tr>
062     * <tr>
063     * <td>WFSResource</td>
064     * <td align="center">-</td>
065     * <td>Resource location of the capabilities of the WFS responsible for data
066     * access, default: file:///$RootDirectory$/WEB-INF/xml/wfs_capabilities.xml.
067     * </td>
068     * </tr>
069     * <tr>
070     * <td>CatalogAddresses</td>
071     * <td align="center">-</td>
072     * <td>Addresses of remote catalogs to be used to realize a cascading catalog.
073     * </td>
074     * </tr>
075     * <tr>
076     * <td>HarvestRepository</td>
077     * <td align="center">-</td>
078     * <td>Information concerning services that are harvestable.</td>
079     * </tr>
080     * </table>
081     * 
082     * 
083     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a>
084     * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider </a>
085     * @author last edited by: $Author: apoth $
086     * 
087     * @version 2.0, $Revision: 9345 $, $Date: 2007-12-27 17:22:25 +0100 (Do, 27 Dez 2007) $
088     * 
089     * @see org.deegree.enterprise.DeegreeParams
090     * 
091     * @since 2.0
092     */
093    
094    public class CatalogueDeegreeParams extends DeegreeParams {
095    
096        private static final long serialVersionUID = -2923926335089417513L;
097        
098        private SimpleLink wfsResource;
099        private OnlineResource[] catalogAddresses;
100        private JDBCConnection harvestRepository;
101        private String defaultOutputSchema = null;
102        private OnlineResource transInXslt = null;
103        private OnlineResource transOutXslt = null;
104    
105        /**
106         * Creates a new CatalogDeegreeParams instance.
107         * 
108         * @param defaultOnlineResource
109         * @param cacheSize
110         * @param requestTimeLimit
111         * @param characterSet
112         * @param wfsResource
113         * @param catalogAddresses
114         * @param harvestRepository
115         */
116        public CatalogueDeegreeParams( OnlineResource defaultOnlineResource, int cacheSize,
117                                    int requestTimeLimit, String characterSet, SimpleLink wfsResource,
118                                    OnlineResource[] catalogAddresses,
119                                    JDBCConnection harvestRepository,
120                                    String defaultOutputSchema, OnlineResource trans_in_xslt, 
121                                    OnlineResource trans_out_xslt) {
122            super( defaultOnlineResource, cacheSize, requestTimeLimit, characterSet );
123            this.wfsResource = wfsResource;
124            this.catalogAddresses = catalogAddresses;
125            this.harvestRepository = harvestRepository;
126            this.defaultOutputSchema = defaultOutputSchema;
127            this.transInXslt = trans_in_xslt;
128            this.transOutXslt = trans_out_xslt;
129        }
130    
131        /**
132         * @return Returns the catalogAddresses.
133         */
134        public OnlineResource[] getCatalogAddresses() {
135            return catalogAddresses;
136        }
137    
138        /**
139         * @param catalogAddresses
140         *            The catalogAddresses to set.
141         */
142        public void setCatalogAddresses( OnlineResource[] catalogAddresses ) {
143            this.catalogAddresses = catalogAddresses;
144        }
145    
146        /**
147         * @return Returns the harvestRepository.
148         */
149        public JDBCConnection getHarvestRepository() {
150            return harvestRepository;
151        }
152    
153        /**
154         * @param harvestRepository
155         *            The harvestRepository to set.
156         */
157        public void setHarvestRepository( JDBCConnection harvestRepository ) {
158            this.harvestRepository = harvestRepository;
159        }
160    
161        /**
162         * @return Returns the wfsResource.
163         */
164        public SimpleLink getWfsResource() {
165            return wfsResource;
166        }
167    
168        /**
169         * @param wfsResource
170         *            The wfsResource to set.
171         */
172        public void setWfsResource( SimpleLink wfsResource ) {
173            this.wfsResource = wfsResource;
174        }
175    
176        /**
177         * 
178         * @return returns the default output schema 
179         */
180        public String getDefaultOutputSchema() {
181            return defaultOutputSchema;
182        }
183        
184        /**
185         * @param defaultOutputSchema default output schema
186         */
187        public void setDefaultOutputSchema( String defaultOutputSchema ) {
188            this.defaultOutputSchema = defaultOutputSchema;
189        }
190        
191        public OnlineResource getTransformationInputXSLT() {
192            return transInXslt;
193        }
194        
195        public void setTransformationInputXSLT(OnlineResource xslt) {
196            this.transInXslt = xslt;
197        }
198        
199        public OnlineResource getTransformationOutputXSLT() {
200            return transOutXslt;
201        }
202        
203        public void setTransformationOutputXSLT(OnlineResource xslt) {
204            this.transOutXslt = xslt;
205        }
206    }