/* * This file is a part of EpnTAPClient. * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer. * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie. * * This program is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, or (at your option) any later * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. You should have received a copy of * the GNU General Public License along with this program. If not, see * . */ package eu.omp.irap.vespa.epntapclient.granule; import java.util.Date; /** * @author N. Jourdane */ public class Granule { public String granuleUid; public String granuleGid; public String obsId; public String dataproductType; public String targetName; public String targetClass; public Double timeMin; public Double timeMax; public Double timeSamplingStepMin; public Double timeSamplingStepMax; public Double timeExpMin; public Double timeExpMax; public Double spectralRangeMin; public Double spectralRangeMax; public Double spectralSamplingStepMin; public Double spectralSamplingStepMax; public Double spectralResolutionMin; public Double spectralResolutionMax; public Double c1Min; public Double c1Max; public Double c2Min; public Double c2Max; public Double c3Min; public Double c3Max; public String sRegion; public Double c1ResolMin; public Double c1ResolMax; public Double c2ResolMin; public Double c2ResolMax; public Double c3ResolMin; public Double c3ResolMax; public String spatialFrameType; public Double incidenceMin; public Double incidenceMax; public Double emergenceMin; public Double emergenceMax; public Double phaseMin; public Double phaseMax; public String instrumentHostName; public String instrumentName; public String measurementType; public Integer processingLevel; public Date creationDate; public Date modificationDate; public Date releaseDate; public String serviceTitle; public String accessUrl; public String accessFormat; public Integer accessEstsize; public String dataAccessUrl; public String accessMd5; public String thumbnailUrl; public String fileName; public String species; public String altTargetName; public String targetRegion; public String featureName; public String bibReference; public Double ra; public Double dec; public Double solarLongitudeMin; public Double solarLongitudeMax; public Double localTimeMin; public Double localTimeMax; public Double targetDistanceMin; public Double targetDistanceMax; public Double targetTimeMin; public Double targetTimeMax; public String particleSpectralType; public Double particleSpectralRangeMin; public Double particleSpectralRangeMax; public Double particleSpectralSamplingStepMin; public Double particleSpectralSamplingStepMax; public Double particleSpectralResolutionMin; public Double particleSpectralResolutionMax; public String publisher; public String spatialCoordinateDescription; public String spatialOrigin; public String timeOrigin; public String timeScale; private Granule() { } public Granule(String granuleUid) { this.granuleUid = granuleUid; } /** * A Granule is valid if all mandatory parameters are filled. * * @return */ public boolean isValid() { boolean valid = granuleUid != null && granuleGid != null && obsId != null; valid = valid && dataproductType != null && targetName != null && targetClass != null; valid = valid && timeMin != null && timeMax != null; valid = valid && timeSamplingStepMin != null && timeSamplingStepMax != null; valid = valid && timeExpMin != null && timeExpMax != null; valid = valid && spectralRangeMin != null && spectralRangeMax != null; valid = valid && timeSamplingStepMin != null && timeSamplingStepMax != null; valid = valid && spectralResolutionMin != null && spectralResolutionMax != null; valid = valid && c1Min != null && c1Max != null; valid = valid && c2Min != null && c2Max != null; valid = valid && c3Min != null && c3Max != null; valid = valid && sRegion != null; valid = valid && c1ResolMin != null && c1ResolMax != null; valid = valid && c2ResolMin != null && c2ResolMax != null; valid = valid && c3ResolMin != null && c3ResolMax != null; valid = valid && spatialFrameType != null; valid = valid && incidenceMin != null && incidenceMax != null; valid = valid && emergenceMin != null && emergenceMax != null; valid = valid && phaseMin != null && phaseMax != null; valid = valid && instrumentHostName != null && instrumentName != null; valid = valid && measurementType != null && processingLevel != null; valid = valid && creationDate != null && modificationDate != null; valid = valid && releaseDate != null && serviceTitle != null; return valid; } @Override public String toString() { return granuleUid; } }