001    //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/ogcwebservices/wps/capabilities/WPSOperationsMetadata.java $
002    /*----------------------------------------------------------------------------
003     This file is part of deegree, http://deegree.org/
004     Copyright (C) 2001-2009 by:
005       Department of Geography, University of Bonn
006     and
007       lat/lon GmbH
008    
009     This library is free software; you can redistribute it and/or modify it under
010     the terms of the GNU Lesser General Public License as published by the Free
011     Software Foundation; either version 2.1 of the License, or (at your option)
012     any later version.
013     This library is distributed in the hope that it will be useful, but WITHOUT
014     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
015     FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
016     details.
017     You should have received a copy of the GNU Lesser General Public License
018     along with this library; if not, write to the Free Software Foundation, Inc.,
019     59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020    
021     Contact information:
022    
023     lat/lon GmbH
024     Aennchenstr. 19, 53177 Bonn
025     Germany
026     http://lat-lon.de/
027    
028     Department of Geography, University of Bonn
029     Prof. Dr. Klaus Greve
030     Postfach 1147, 53001 Bonn
031     Germany
032     http://www.geographie.uni-bonn.de/deegree/
033    
034     e-mail: info@deegree.org
035    ----------------------------------------------------------------------------*/
036    
037    package org.deegree.ogcwebservices.wps.capabilities;
038    
039    import java.util.ArrayList;
040    import java.util.List;
041    
042    import org.deegree.ogcwebservices.getcapabilities.Operation;
043    import org.deegree.ogcwebservices.getcapabilities.OperationsMetadata;
044    import org.deegree.owscommon.OWSDomainType;
045    
046    /**
047     * WPSOperationsMetadata.java
048     *
049     * Created on 08.03.2006. 19:26:51h
050     *
051     * Metadata about the operations and related abilities specified by this service and implemented by
052     * this server, including the URLs for operation requests. The basic contents of this section shall
053     * be the same for all OWS types, but individual services can add elements and/or change the
054     * optionality of optional elements.
055     *
056     * @author <a href="mailto:christian@kiehle.org">Christian Kiehle</a>
057     * @author <a href="mailto:christian.heier@gmx.de">Christian Heier</a>
058     * @version 1.0.
059     * @since 2.0
060     */
061    public class WPSOperationsMetadata extends OperationsMetadata {
062    
063        /**
064             *
065             */
066            private static final long serialVersionUID = 7688089087161206503L;
067    
068            /**
069         * WPS describe process operation.
070         */
071        private Operation describeProcess;
072    
073        /**
074         * WPS execute operation.
075         */
076        private Operation execute;
077    
078        /**
079         *
080         */
081        public static final String DESCRIBEPROCESS = "DescribeProcess";
082    
083        /**
084         *
085         */
086        public static final String EXECUTE = "Execute";
087    
088        /**
089         *
090         * @param getCapabilitiesOperation
091         * @param describeProcess
092         * @param execute
093         * @param parameters
094         * @param constraints
095         */
096        public WPSOperationsMetadata( Operation getCapabilitiesOperation, Operation describeProcess, Operation execute,
097                                      OWSDomainType[] parameters, OWSDomainType[] constraints ) {
098            super( getCapabilitiesOperation, parameters, constraints );
099            this.describeProcess = describeProcess;
100            this.execute = execute;
101        }
102    
103        /**
104         * Returns all <code>Operations</code> known to the WPS.
105         *
106         * @return all <code>Operations</code> known to the WPS.
107         */
108        @Override
109        public Operation[] getOperations() {
110            List<Operation> list = new ArrayList<Operation>( 3 );
111            list.add( describeProcess );
112            list.add( getCapabilitiesOperation );
113            list.add( execute );
114            Operation[] ops = new Operation[list.size()];
115            return list.toArray( ops );
116        }
117    
118        /**
119         * @return Returns the describeProcess.
120         */
121        public Operation getDescribeProcess() {
122            return describeProcess;
123        }
124    
125        /**
126         * @param describeProcess
127         *            The describeProcess to set.
128         */
129        public void setDescribeProcess( Operation describeProcess ) {
130            this.describeProcess = describeProcess;
131        }
132    
133        /**
134         * @return Returns the execute.
135         */
136        public Operation getExecute() {
137            return execute;
138        }
139    
140        /**
141         * @param execute
142         *            The execute to set.
143         */
144        public void setExecute( Operation execute ) {
145            this.execute = execute;
146        }
147    
148    }