001: //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/sos/configuration/SensorConfiguration.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.util.ArrayList;
045:
046: /**
047: * represents a sensor configuration
048: *
049: * @author <a href="mailto:mkulbe@lat-lon.de">Matthias Kulbe </a>
050: * @author last edited by: $Author:wanhoff$
051: *
052: * @version $Revision: 9345 $, $Date:20.03.2007$
053: */
054: public class SensorConfiguration {
055:
056: private String id = null;
057:
058: private String idPropertyValue = null;
059:
060: private String sourceServerId = null;
061:
062: private ArrayList<MeasurementConfiguration> measurementConfigurations = new ArrayList<MeasurementConfiguration>();
063:
064: /**
065: * constructor
066: *
067: * @param id
068: * @param idPropertyValue
069: * @param sourceServerId
070: * @param measurements
071: */
072: public SensorConfiguration(String id, String idPropertyValue,
073: String sourceServerId,
074: MeasurementConfiguration[] measurements) {
075: this .id = id;
076: this .idPropertyValue = idPropertyValue;
077: this .sourceServerId = sourceServerId;
078:
079: if (measurements != null) {
080: for (int i = 0; i < measurements.length; i++) {
081: this .measurementConfigurations.add(measurements[i]);
082: }
083: } else {
084:
085: }
086: }
087:
088: /**
089: * returns all measurements
090: *
091: * @return all measurements
092: */
093: public MeasurementConfiguration[] getMeasurementConfigurations() {
094: return measurementConfigurations
095: .toArray(new MeasurementConfiguration[measurementConfigurations
096: .size()]);
097: }
098:
099: /**
100: * returns the first measurement; is the default if the user don't request a special measurement
101: *
102: * @return the first measurement
103: */
104: public MeasurementConfiguration getFirstMeasurementConfiguration() {
105: return this .measurementConfigurations.get(0);
106: }
107:
108: /**
109: *
110: * @return id
111: */
112: public String getId() {
113: return id;
114: }
115:
116: /**
117: *
118: * @return idPropertyValue
119: */
120: public String getIdPropertyValue() {
121: return idPropertyValue;
122: }
123:
124: /**
125: *
126: * @return sourceServerId
127: */
128: public String getSourceServerId() {
129: return sourceServerId;
130: }
131:
132: /**
133: * overwrites the equals function
134: *
135: * @param obj
136: * @return
137: */
138: public boolean equals(Object obj) {
139: if (!(obj instanceof SensorConfiguration)) {
140: return false;
141: }
142: if (this .getId().equals(((SensorConfiguration) obj).getId())) {
143: return true;
144: }
145: return false;
146: }
147:
148: /**
149: * returns the Measurement Config by the given id
150: *
151: * @param id
152: * @return the Measurement Config by the given id
153: */
154: public MeasurementConfiguration getMeasurementById(String id) {
155: for (int i = 0; i < this.measurementConfigurations.size(); i++) {
156: if (this.measurementConfigurations.get(i).equals(id)) {
157: return this.measurementConfigurations.get(i);
158: }
159: }
160: return null;
161: }
162:
163: }
|