23 #include <BaseTypeFactory.h>
24 #include <Ancillary.h>
27 #include <InternalErr.h>
28 #include <mime_util.h>
30 using namespace libdap ;
57 das->parse( accessed ) ;
63 catch(InternalErr & e) {
64 BESDapError ex( e.get_error_message(),
true, e.get_error_code(),
65 __FILE__, __LINE__ ) ;
69 BESDapError ex( e.get_error_message(),
false, e.get_error_code(),
70 __FILE__, __LINE__ ) ;
74 string s =
"unknown exception caught building DAS";
93 BaseTypeFactory factory;
94 dds->set_factory( &factory ) ;
95 dds->filename( accessed );
96 dds->set_dataset_name( name_path( accessed ) ) ;
97 dds->parse( accessed ) ;
98 dds->set_factory( 0 ) ;
103 Ancillary::read_ancillary_das( *das, accessed ) ;
105 dds->transfer_attributes( das ) ;
114 catch(InternalErr & e) {
115 BESDapError ex( e.get_error_message(),
true, e.get_error_code(),
116 __FILE__, __LINE__ ) ;
120 BESDapError ex( e.get_error_message(),
false, e.get_error_code(),
121 __FILE__, __LINE__ ) ;
125 string s =
"unknown exception caught building DDS";
143 DataDDS *dds = bdds->
get_dds() ;
145 BaseTypeFactory factory;
146 dds->set_factory( &factory ) ;
147 dds->filename( accessed ) ;
148 dds->set_dataset_name( name_path( accessed ) ) ;
149 Connect *url =
new Connect( accessed ) ;
150 Response *r =
new Response( fopen( accessed.c_str(),
"r" ), 0 ) ;
152 if( !r->get_stream() )
153 throw Error(
string(
"The input source: ")
155 + string(
" could not be opened"));
157 url->read_data_no_mime( *dds, r ) ;
158 dds->set_factory( 0 ) ;
161 DDS::Vars_iter i = dds->var_begin() ;
162 DDS::Vars_iter e = dds->var_end() ;
166 b->set_read_p(
true ) ;
172 Ancillary::read_ancillary_das( *das, accessed ) ;
173 dds->transfer_attributes( das ) ;
182 catch(InternalErr & e) {
183 BESDapError ex( e.get_error_message(),
true, e.get_error_code(),
184 __FILE__, __LINE__ ) ;
188 BESDapError ex( e.get_error_message(),
false, e.get_error_code(),
189 __FILE__, __LINE__ ) ;
193 string s =
"unknown exception caught building DAS";
218 map<string,string> attrs ;
221 list<string> services ;
223 if( services.size() > 0 )
226 attrs[
"handles"] = handles ;
239 << (
void *)
this <<
")" << endl ;