001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/sos/configuration/MeasurementConfiguration.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 Aennchenstraße 19
030 53177 Bonn
031 Germany
032 E-Mail: poth@lat-lon.de
033
034 Prof. Dr. Klaus Greve
035 lat/lon GmbH
036 Aennchenstraße 19
037 53177 Bonn
038 Germany
039 E-Mail: greve@giub.uni-bonn.de
040
041 ---------------------------------------------------------------------------*/
042 package org.deegree.ogcwebservices.sos.configuration;
043
044 import java.net.URL;
045
046 import org.deegree.datatypes.QualifiedName;
047 import org.deegree.model.filterencoding.Filter;
048
049 /**
050 * deegree2/
051 *
052 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a>
053 * @author <a href="mailto:mkulbe@lat-lon.de">Matthias Kulbe </a>
054 */
055 public class MeasurementConfiguration {
056
057 private String id = null;
058
059 private String sourceServerId = null;
060
061 private String phenomenon = null;
062
063 private QualifiedName featureTypeName = null;
064
065 private Filter constraint = null;
066
067 private QualifiedName timePropertyName = null;
068
069 private QualifiedName measurandPropertyName = null;
070
071 private String timeResolution = null;
072
073 private String timeResolutionType = null;
074
075 private URL XSLTScriptSource = null;
076
077 /**
078 *
079 * @param id
080 * @param sourceServerId
081 * @param phenomenon
082 * @param featureTypeName
083 * @param constraint
084 * @param timePropertyName
085 * @param measurandPropertyName
086 * @param timeResolution
087 * @param timeResolutionType
088 * @param XSLTScriptSource
089 */
090 public MeasurementConfiguration( String id, String sourceServerId, String phenomenon,
091 QualifiedName featureTypeName, Filter constraint,
092 QualifiedName timePropertyName,
093 QualifiedName measurandPropertyName, String timeResolution,
094 String timeResolutionType, URL XSLTScriptSource ) {
095 this.id = id;
096 this.sourceServerId = sourceServerId;
097 this.phenomenon = phenomenon;
098 this.featureTypeName = featureTypeName;
099 this.constraint = constraint;
100 this.timePropertyName = timePropertyName;
101 this.measurandPropertyName = measurandPropertyName;
102 this.timeResolution = timeResolution;
103 this.timeResolutionType = timeResolutionType;
104 this.XSLTScriptSource = XSLTScriptSource;
105
106 }
107
108 /**
109 *
110 * @return sourceServerId
111 */
112 public String getSourceServerId() {
113 return sourceServerId;
114 }
115
116 /**
117 *
118 * @return featureTypeName
119 */
120 public QualifiedName getFeatureTypeName() {
121 return featureTypeName;
122 }
123
124 /**
125 *
126 * @return constraint
127 */
128 public Filter getConstraint() {
129 return constraint;
130 }
131
132 /**
133 *
134 * @return id
135 */
136 public String getId() {
137 return id;
138 }
139
140 /**
141 *
142 * @return measurandPropertyName
143 */
144 public QualifiedName getMeasurandPropertyName() {
145 return measurandPropertyName;
146 }
147
148 /**
149 *
150 * @return phenomenon
151 */
152 public String getPhenomenon() {
153 return phenomenon;
154 }
155
156 /**
157 *
158 * @return timePropertyName
159 */
160 public QualifiedName getTimePropertyName() {
161 return timePropertyName;
162 }
163
164 /**
165 *
166 * @return timeResolution
167 */
168 public String getTimeResolution() {
169 return timeResolution;
170 }
171
172 /**
173 *
174 * @return timeResolutionType
175 */
176 public String getTimeResolutionType() {
177 return timeResolutionType;
178 }
179
180 /**
181 *
182 * @return XSLTScriptSource
183 */
184 public URL getXSLTScriptSource() {
185 return XSLTScriptSource;
186 }
187
188 /**
189 * overwrites the equals function. Two instances of <code>MeasurementConfiguration</code> are
190 * equal if their IDs are equal
191 *
192 * @param obj
193 */
194 public boolean equals( Object obj ) {
195 if ( !( obj instanceof MeasurementConfiguration ) ) {
196 return false;
197 }
198 if ( this.getId().equals( ( (MeasurementConfiguration) obj ).getId() ) ) {
199 return true;
200 }
201 return false;
202 }
203 }