bes
Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
ArrayJoinExistingAggregation.h
1
2
// This file is part of the "NcML Module" project, a BES module designed
3
// to allow NcML files to be used to be used as a wrapper to add
4
// AIS to existing datasets of any format.
5
//
6
// Copyright (c) 2010 OPeNDAP, Inc.
7
// Author: Michael Johnson <m.johnson@opendap.org>
8
//
9
// For more information, please also see the main website: http://opendap.org/
10
//
11
// This library is free software; you can redistribute it and/or
12
// modify it under the terms of the GNU Lesser General Public
13
// License as published by the Free Software Foundation; either
14
// version 2.1 of the License, or (at your option) any later version.
15
//
16
// This library is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
// Lesser General Public License for more details.
20
//
21
// You should have received a copy of the GNU Lesser General Public
22
// License along with this library; if not, write to the Free Software
23
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
//
25
// Please see the files COPYING and COPYRIGHT for more information on the GLPL.
26
//
27
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
29
#ifndef __AGG_UTIL__ARRAY_JOIN_EXISTING_AGGREGATION_H__
30
#define __AGG_UTIL__ARRAY_JOIN_EXISTING_AGGREGATION_H__
31
32
#include "AggMemberDataset.h"
// agg_util
33
#include "ArrayAggregationBase.h"
// agg_util
34
#include "Dimension.h"
// agg_util
35
36
namespace
libdap
{
37
class
ConstraintEvaluator;
38
class
DDS;
39
class
Marshaller;
40
}
41
42
namespace
agg_util
{
43
44
class
ArrayJoinExistingAggregation
:
public
ArrayAggregationBase
{
45
public
:
46
63
ArrayJoinExistingAggregation
(
const
libdap::Array& granuleTemplate, AMDList memberDatasets,
64
std::unique_ptr<ArrayGetterInterface> arrayGetter,
const
Dimension
& joinDim);
65
66
ArrayJoinExistingAggregation
(
const
ArrayJoinExistingAggregation
& rhs);
67
68
virtual
~ArrayJoinExistingAggregation
();
69
70
ArrayJoinExistingAggregation
& operator=(
const
ArrayJoinExistingAggregation
& rhs);
71
77
virtual
ArrayJoinExistingAggregation
*
ptr_duplicate
();
78
79
virtual
bool
serialize(libdap::ConstraintEvaluator &eval, libdap::DDS &dds, libdap::Marshaller &m,
bool
ce_eval);
80
81
protected
:
82
// Subclass Interface
83
86
virtual
void
transferOutputConstraintsIntoGranuleTemplateHook
();
87
88
/* IMPL of virtual hook.
89
* Does the internal work to make the aggregation using read
90
* and respecting constraints on the outer dimension */
91
virtual
void
readConstrainedGranuleArraysAndAggregateDataHook
();
92
93
private
:
94
// helpers
95
97
void
duplicate(
const
ArrayJoinExistingAggregation
& rhs);
98
100
void
cleanup()
noexcept
;
101
103
// Data Rep
104
107
agg_util::Dimension
_joinDim;
108
};
109
110
}
111
112
#endif
/* __AGG_UTIL__ARRAY_JOIN_EXISTING_AGGREGATION_H__ */
agg_util::ArrayAggregationBase::ArrayAggregationBase
ArrayAggregationBase(const libdap::Array &granuleProto, AMDList memberDatasets, std::unique_ptr< ArrayGetterInterface > arrayGetter)
Definition
ArrayAggregationBase.cc:56
agg_util::ArrayJoinExistingAggregation::readConstrainedGranuleArraysAndAggregateDataHook
virtual void readConstrainedGranuleArraysAndAggregateDataHook()
Definition
ArrayJoinExistingAggregation.cc:311
agg_util::ArrayJoinExistingAggregation::ptr_duplicate
virtual ArrayJoinExistingAggregation * ptr_duplicate()
Definition
ArrayJoinExistingAggregation.cc:99
agg_util::ArrayJoinExistingAggregation::transferOutputConstraintsIntoGranuleTemplateHook
virtual void transferOutputConstraintsIntoGranuleTemplateHook()
Definition
ArrayJoinExistingAggregation.cc:298
agg_util::ArrayJoinExistingAggregation::ArrayJoinExistingAggregation
ArrayJoinExistingAggregation(const libdap::Array &granuleTemplate, AMDList memberDatasets, std::unique_ptr< ArrayGetterInterface > arrayGetter, const Dimension &joinDim)
Definition
ArrayJoinExistingAggregation.cc:50
agg_util
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
Definition
AggMemberDataset.h:43
libdap
Definition
coverity_models.cpp:31
agg_util::Dimension
Definition
Dimension.h:49
modules
ncml_module
ArrayJoinExistingAggregation.h
Generated by
1.13.2