Build: #3 failed

Job: Tag Branch for Packages was successful

Stages & jobs

  1. Tag Branch

  2. Default Stage

  3. Create Critial Test Plan Branch

Build log

The build generated 690,341 lines of output.The output is too long and has been truncated to the last 1,000 lines. Download or view full build log.

12-Jan-2021 02:57:13 +    itsImager->executeMajorCycle( *recpars );
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    } catch  (AipsError x) {
12-Jan-2021 02:57:13      RETHROW(x);
12-Jan-2021 02:57:13 @@ -627,8 +644,11 @@ bool synthesisimager::makesdpsf()
12-Jan-2021 02:57:13    try {
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13      //if( ! itsImager ) itsImager = new SynthesisImager();
12-Jan-2021 02:57:13 +//std::cout << "makesdpdf()<0>" << std::flush << std::endl;
12-Jan-2021 02:57:13      itsImager = makeSI();
12-Jan-2021 02:57:13 +//std::cout << "makesdpdf()<1>" << std::flush << std::endl;
12-Jan-2021 02:57:13      itsImager->makeSdImage(true);
12-Jan-2021 02:57:13 +//std::cout << "makesdpdf()<2>" << std::flush << std::endl;
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    } catch  (AipsError x) {
12-Jan-2021 02:57:13      RETHROW(x);
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/synthesis/synthesisiterbot_cmpt.cc b/gcwrap/tools/synthesis/synthesisiterbot_cmpt.cc
12-Jan-2021 02:57:13 index b34b2d6..b1f34ba 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/synthesis/synthesisiterbot_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/synthesis/synthesisiterbot_cmpt.cc
12-Jan-2021 02:57:13 @@ -51,8 +51,8 @@ casac::record* synthesisiterbot::setupiteration(const casac::record& iterpars)
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( iterpars );
12-Jan-2021 02:57:13 -      itsIterBot->setupIteration( recpars );
12-Jan-2021 02:57:13 +      const std::unique_ptr<Record> recpars(toRecord( iterpars ));
12-Jan-2021 02:57:13 +      itsIterBot->setupIteration( *recpars );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 @@ -202,8 +202,8 @@ bool synthesisiterbot::mergeinitrecord(const casac::record& initrecord)
12-Jan-2021 02:57:13    
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( initrecord );
12-Jan-2021 02:57:13 -      itsIterBot->startMinorCycle( recpars );
12-Jan-2021 02:57:13 +      const std::unique_ptr<Record> recpars(toRecord( initrecord ));
12-Jan-2021 02:57:13 +      itsIterBot->startMinorCycle( *recpars );
12-Jan-2021 02:57:13       }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 @@ -219,8 +219,8 @@ bool synthesisiterbot::mergeexecrecord(const casac::record& execrecord)
12-Jan-2021 02:57:13    
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( execrecord );
12-Jan-2021 02:57:13 -      itsIterBot->endMinorCycle(recpars);
12-Jan-2021 02:57:13 +      const std::unique_ptr<Record> recpars(toRecord( execrecord ));
12-Jan-2021 02:57:13 +      itsIterBot->endMinorCycle(*recpars);
12-Jan-2021 02:57:13       }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc b/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
12-Jan-2021 02:57:13 index 4f7f4e8..d9ff936 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
12-Jan-2021 02:57:13 @@ -46,8 +46,8 @@ synthesisnormalizer::~synthesisnormalizer()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record rec = *toRecord( normpars );
12-Jan-2021 02:57:13 -      itsNormalizer->setupNormalizer( rec );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> rec(toRecord( normpars ));
12-Jan-2021 02:57:13 +      itsNormalizer->setupNormalizer( *rec );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/synthesis/synthesisutils_cmpt.cc b/gcwrap/tools/synthesis/synthesisutils_cmpt.cc
12-Jan-2021 02:57:13 index 02feb60..95f70e5 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/synthesis/synthesisutils_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/synthesis/synthesisutils_cmpt.cc
12-Jan-2021 02:57:13 @@ -45,8 +45,8 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( selpars );
12-Jan-2021 02:57:13 -      rstat = fromRecord(  itsUtils->continuumDataPartition( recpars , npart ) );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( selpars ));
12-Jan-2021 02:57:13 +      rstat = fromRecord(  itsUtils->continuumDataPartition( *recpars , npart ) );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 @@ -62,7 +62,7 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( selpars );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( selpars ));
12-Jan-2021 02:57:13        casacore::Quantity qstart(1.0, "GHz");
12-Jan-2021 02:57:13        casacore::Quantity qend(1.5,"GHz");
12-Jan-2021 02:57:13        if( (fstart.toString().size() != 0) && String(fstart.toString()) != String("[]"))
12-Jan-2021 02:57:13 @@ -72,7 +72,7 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13        
12-Jan-2021 02:57:13        casacore::MFrequency::Types eltype;
12-Jan-2021 02:57:13        casacore::MFrequency::getType(eltype, frame);
12-Jan-2021 02:57:13 -      rstat = fromRecord(  itsUtils->cubeDataPartition( recpars , npart, qstart.getValue("Hz"), qend.getValue("Hz"), eltype ) );
12-Jan-2021 02:57:13 +      rstat = fromRecord(  itsUtils->cubeDataPartition( *recpars , npart, qstart.getValue("Hz"), qend.getValue("Hz"), eltype ) );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 @@ -88,8 +88,8 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( selpars );
12-Jan-2021 02:57:13 -      rstat = fromRecord(  itsUtils->cubeImagePartition( recpars , npart ) );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( selpars ));
12-Jan-2021 02:57:13 +      rstat = fromRecord(  itsUtils->cubeImagePartition( *recpars , npart ) );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 @@ -106,14 +106,14 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13     try
12-Jan-2021 02:57:13       {
12-Jan-2021 02:57:13 -        casacore::Record recselpars = *toRecord( selpars );
12-Jan-2021 02:57:13 -        casacore::Record recincsys = *toRecord( incsysrec );
12-Jan-2021 02:57:13 -        if (recincsys.nfields() != 0 ) {
12-Jan-2021 02:57:13 +        std::unique_ptr<casacore::Record> recselpars(toRecord( selpars ));
12-Jan-2021 02:57:13 +        std::unique_ptr<casacore::Record> recincsys(toRecord( incsysrec ));
12-Jan-2021 02:57:13 +        if (recincsys->nfields() != 0 ) {
12-Jan-2021 02:57:13            CoordinateSystem *incsys;
12-Jan-2021 02:57:13 -          incsys = CoordinateSystem::restore(recincsys,"coordsys");
12-Jan-2021 02:57:13 +          incsys = CoordinateSystem::restore(*recincsys,"coordsys");
12-Jan-2021 02:57:13            Vector<CoordinateSystem> ocsysvec;
12-Jan-2021 02:57:13            Vector<Int> outnchanvec;
12-Jan-2021 02:57:13 -          rstat = fromRecord( itsUtils->cubeDataImagePartition( recselpars, *incsys, npart, nchannel, ocsysvec, outnchanvec) );
12-Jan-2021 02:57:13 +          rstat = fromRecord( itsUtils->cubeDataImagePartition( *recselpars, *incsys, npart, nchannel, ocsysvec, outnchanvec) );
12-Jan-2021 02:57:13          }
12-Jan-2021 02:57:13       }
12-Jan-2021 02:57:13     catch (AipsError x)
12-Jan-2021 02:57:13 @@ -130,9 +130,9 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( selpars );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( selpars ));
12-Jan-2021 02:57:13        SynthesisParamsSelect pars;
12-Jan-2021 02:57:13 -      pars.fromRecord( recpars );
12-Jan-2021 02:57:13 +      pars.fromRecord( *recpars );
12-Jan-2021 02:57:13        rstat = fromRecord(  pars.toRecord()  );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13 @@ -149,9 +149,9 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( impars );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( impars ));
12-Jan-2021 02:57:13        SynthesisParamsImage pars;
12-Jan-2021 02:57:13 -      pars.fromRecord( recpars );
12-Jan-2021 02:57:13 +      pars.fromRecord( *recpars );
12-Jan-2021 02:57:13        rstat = fromRecord(  pars.toRecord()  );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13 @@ -169,9 +169,9 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( gridpars );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( gridpars ));
12-Jan-2021 02:57:13        SynthesisParamsGrid pars;
12-Jan-2021 02:57:13 -      pars.fromRecord( recpars );
12-Jan-2021 02:57:13 +      pars.fromRecord( *recpars );
12-Jan-2021 02:57:13        rstat = fromRecord(  pars.toRecord()  );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13 @@ -189,8 +189,8 @@ synthesisutils::~synthesisutils()
12-Jan-2021 02:57:13    try
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13        SynthesisParamsImage pars;
12-Jan-2021 02:57:13 -      casacore::Record recpars = *toRecord( impars );
12-Jan-2021 02:57:13 -      rstat = fromRecord( pars.updateParams( recpars ) );
12-Jan-2021 02:57:13 +      std::unique_ptr<casacore::Record> recpars(toRecord( impars ));
12-Jan-2021 02:57:13 +      rstat = fromRecord( pars.updateParams( *recpars ) );
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13    catch  (AipsError x)
12-Jan-2021 02:57:13      {
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/synthesis/vpmanager_cmpt.cc b/gcwrap/tools/synthesis/vpmanager_cmpt.cc
12-Jan-2021 02:57:13 index 1ff387b..aa7a1b2 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/synthesis/vpmanager_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/synthesis/vpmanager_cmpt.cc
12-Jan-2021 02:57:13 @@ -26,7 +26,7 @@
12-Jan-2021 02:57:13 #include <casa/Quanta/MVFrequency.h>
12-Jan-2021 02:57:13 #include <casa/Quanta/Quantum.h>
12-Jan-2021 02:57:13 #include <synthesis/MeasurementEquations/VPManager.h>
12-Jan-2021 02:57:13 -#include <imageanalysis/ImageAnalysis/AntennaResponses.h>
12-Jan-2021 02:57:13 +#include <synthesis/MeasurementEquations/AntennaResponses.h>
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 using namespace std;
12-Jan-2021 02:57:13 using namespace casacore;
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/tables/TablePlot/BasePlot.cc b/gcwrap/tools/tables/TablePlot/BasePlot.cc
12-Jan-2021 02:57:13 index a28414a..d9291c5 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/tables/TablePlot/BasePlot.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/tables/TablePlot/BasePlot.cc
12-Jan-2021 02:57:13 @@ -310,7 +310,7 @@ Int BasePlot::createTENS(Vector<String> &datastr)
12-Jan-2021 02:57:13        log->out(String("column ")+colnames_p(i),
12-Jan-2021 02:57:13              fnname, clname, LogMessage::DEBUGGING);
12-Jan-2021 02:57:13 #endif
12-Jan-2021 02:57:13 -      ROTableColumn rot(SelTab_p,colnames_p(i));
12-Jan-2021 02:57:13 +      TableColumn rot(SelTab_p,colnames_p(i));
12-Jan-2021 02:57:13                  if(!rot.isNull())
12-Jan-2021 02:57:13        {
12-Jan-2021 02:57:13            ColumnDesc cdesc = rot.columnDesc();
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/tables/TablePlot/BasePlot.tcc b/gcwrap/tools/tables/TablePlot/BasePlot.tcc
12-Jan-2021 02:57:13 index cbb26de..92e1ce4 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/tables/TablePlot/BasePlot.tcc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/tables/TablePlot/BasePlot.tcc
12-Jan-2021 02:57:13 @@ -308,7 +308,7 @@ Int BasePlot::createTENS(casacore::Vector<casacore::String> &datastr)
12-Jan-2021 02:57:13        log->out(casacore::String("column ")+colnames_p(i),
12-Jan-2021 02:57:13              fnname, clname, casacore::LogMessage::DEBUGGING);
12-Jan-2021 02:57:13 #endif
12-Jan-2021 02:57:13 -      casacore::ROTableColumn rot(SelTab_p,colnames_p(i));
12-Jan-2021 02:57:13 +      casacore::TableColumn rot(SelTab_p,colnames_p(i));
12-Jan-2021 02:57:13                  if(!rot.isNull())
12-Jan-2021 02:57:13        {
12-Jan-2021 02:57:13            casacore::ColumnDesc cdesc = rot.columnDesc();
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/tables/TablePlot/TablePlot.cc b/gcwrap/tools/tables/TablePlot/TablePlot.cc
12-Jan-2021 02:57:13 index f35790a..dc06e5c 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/tables/TablePlot/TablePlot.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/tables/TablePlot/TablePlot.cc
12-Jan-2021 02:57:13 @@ -3040,7 +3040,7 @@ Bool TablePlot::checkShapes(Table &intab)
12-Jan-2021 02:57:13    
12-Jan-2021 02:57:13     if( tdesc.isColumn(dataFlagColName_p) )
12-Jan-2021 02:57:13     {
12-Jan-2021 02:57:13 -      ROArrayColumn<Complex> col;
12-Jan-2021 02:57:13 +      ArrayColumn<Complex> col;
12-Jan-2021 02:57:13        col.attach(intab,dataFlagColName_p);
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13        // Iterate over all rows and check the shape.
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/tables/table_cmpt.cc b/gcwrap/tools/tables/table_cmpt.cc
12-Jan-2021 02:57:13 index 2721f95..e404e76 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/tables/table_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/tables/table_cmpt.cc
12-Jan-2021 02:57:13 @@ -1307,7 +1307,7 @@ table::iscelldefined(const std::string& columnname, const int rownr)
12-Jan-2021 02:57:13   Bool rstat(false);
12-Jan-2021 02:57:13   try {
12-Jan-2021 02:57:13          if(itsTable){
12-Jan-2021 02:57:13 -                 ROTableColumn tabColumn(itsTable->table(), columnname);
12-Jan-2021 02:57:13 +                 TableColumn tabColumn(itsTable->table(), columnname);
12-Jan-2021 02:57:13                  rstat = tabColumn.isDefined(rownr);
12-Jan-2021 02:57:13          } else {
12-Jan-2021 02:57:13                  *itsLog << LogIO::WARN << "No table specified, please open first" << LogIO::POST;
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/tables/tableplot_cmpt.cc b/gcwrap/tools/tables/tableplot_cmpt.cc
12-Jan-2021 02:57:13 index 2d5ca07..4dd1f94 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/tables/tableplot_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/tables/tableplot_cmpt.cc
12-Jan-2021 02:57:13 @@ -149,7 +149,7 @@ tableplot::open(const std::vector<std::string>& tabnames)
12-Jan-2021 02:57:13                 if(adbg)cout << "nTabs : " << nTabs << endl;
12-Jan-2021 02:57:13         
12-Jan-2021 02:57:13                 /* Open tables and attach to internal list */
12-Jan-2021 02:57:13 -                if(TP->setTableS(TabNames,TabNames,SelStr)==-1) return false;
12-Jan-2021 02:57:13 +                if(! TP->setTableS(TabNames,TabNames,SelStr)) return false;
12-Jan-2021 02:57:13                 
12-Jan-2021 02:57:13                 /* Record the tables - for use in data selection later on */
12-Jan-2021 02:57:13                 TABS.resize(0);
12-Jan-2021 02:57:13 @@ -261,7 +261,7 @@ tableplot::selectdata(const std::string& taqlstring)
12-Jan-2021 02:57:13                 SelStr[i] = selectstring;
12-Jan-2021 02:57:13         }
12-Jan-2021 02:57:13         /* Attach selected tables to internal list */
12-Jan-2021 02:57:13 -        if(TP->setTableT(SelTABS,TabNames,SelStr)==-1) return false;
12-Jan-2021 02:57:13 +        if(! TP->setTableT(SelTABS,TabNames,SelStr)) return false;
12-Jan-2021 02:57:13         
12-Jan-2021 02:57:13         } catch (AipsError x) {
12-Jan-2021 02:57:13                 *itsLog << LogIO::SEVERE << "Exception Reported: " << x.getMesg() << LogIO::POST;
12-Jan-2021 02:57:13 @@ -387,7 +387,7 @@ tableplot::iterplotstart(const ::casac::record& poption, const std::vector<std::
12-Jan-2021 02:57:13         if(Errors[1].length()>0)cout<< Errors[1] <<endl;
12-Jan-2021 02:57:13         if(Errors[0].length()>0){cout<<"ERRORS :"<<Errors[0]<<endl;return false;}
12-Jan-2021 02:57:13         
12-Jan-2021 02:57:13 -        if(TP->iterMultiPlotStart(pop,temptaqlvector,tempiteraxes)==-1)
12-Jan-2021 02:57:13 +        if(! TP->iterMultiPlotStart(pop,temptaqlvector,tempiteraxes))
12-Jan-2021 02:57:13          return false;
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13          TP->changeGuiButtonState("iternext","enabled");
12-Jan-2021 02:57:13 @@ -452,7 +452,7 @@ tableplot::markregions(const int nrows, const int ncols, const int panel,const s
12-Jan-2021 02:57:13                 for(Int i=0;i<(Int)region.size();i++)
12-Jan-2021 02:57:13                         regionvec[i] = (Double)region[i];
12-Jan-2021 02:57:13                 
12-Jan-2021 02:57:13 -                if(TP->markRegions(nrows,ncols,panel,regionvec) == -1) return false;
12-Jan-2021 02:57:13 +                if(! TP->markRegions(nrows,ncols,panel,regionvec)) return false;
12-Jan-2021 02:57:13                 
12-Jan-2021 02:57:13         } catch (AipsError x) {
12-Jan-2021 02:57:13                 *itsLog << LogIO::SEVERE << "Exception Reported: " << x.getMesg() << LogIO::POST;
12-Jan-2021 02:57:13 @@ -530,7 +530,7 @@ tableplot::clearplot(const int nrows, const int ncols, const int panel)
12-Jan-2021 02:57:13 {
12-Jan-2021 02:57:13         if(adbg)cout << " Clear Plot " << endl;
12-Jan-2021 02:57:13         try {
12-Jan-2021 02:57:13 -                if(TP->clearPlot(nrows,ncols,panel) == -1) return false;
12-Jan-2021 02:57:13 +                if(! TP->clearPlot(nrows,ncols,panel)) return false;
12-Jan-2021 02:57:13         
12-Jan-2021 02:57:13         } catch (AipsError x) {
12-Jan-2021 02:57:13                 *itsLog << LogIO::SEVERE << "Exception Reported: " << x.getMesg() << LogIO::POST;
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/utils/utils.xml b/gcwrap/tools/utils/utils.xml
12-Jan-2021 02:57:13 index 62ba7ee..27d7b0f 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/utils/utils.xml
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/utils/utils.xml
12-Jan-2021 02:57:13 @@ -453,6 +453,16 @@ Returns a four element vector representing the version (major, minor, patch and
12-Jan-2021 02:57:13 </description>
12-Jan-2021 02:57:13 </method>
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 +<method type="function" name="version_variant">
12-Jan-2021 02:57:13 +<shortdescription>returns the target instrument f.e. ALMA or VLA</shortdescription>
12-Jan-2021 02:57:13 +<returns type="string"/>
12-Jan-2021 02:57:13 +<description>
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 +Returns the target instrument. This helps distinguish versions that otherwise may have the same version number
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 +</description>
12-Jan-2021 02:57:13 +</method>
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 <method type="function" name="version_desc">
12-Jan-2021 02:57:13 <shortdescription>returns the descriptive version string, e.g. DEV or REL</shortdescription>
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/utils/utils_cmpt.cc b/gcwrap/tools/utils/utils_cmpt.cc
12-Jan-2021 02:57:13 index e24cd2f..c587855 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/utils/utils_cmpt.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/utils/utils_cmpt.cc
12-Jan-2021 02:57:13 @@ -16,7 +16,9 @@
12-Jan-2021 02:57:13 #include <stdcasa/version.h>
12-Jan-2021 02:57:13 #include <utils_cmpt.h>
12-Jan-2021 02:57:13 #include <tools/utils/stdBaseInterface.h>
12-Jan-2021 02:57:13 +#if ! defined(WITHOUT_DBUS)
12-Jan-2021 02:57:13 #include <tools/xerces/stdcasaXMLUtil.h>
12-Jan-2021 02:57:13 +#endif
12-Jan-2021 02:57:13 #include <casa/Logging/LogIO.h>
12-Jan-2021 02:57:13 #include <casa/BasicSL/String.h>
12-Jan-2021 02:57:13 #include <casa/OS/File.h>
12-Jan-2021 02:57:13 @@ -35,7 +37,7 @@
12-Jan-2021 02:57:13 #include <casacore/casa/Quanta/UnitMap.h>
12-Jan-2021 02:57:13 #include <casatools/Config/State.h>
12-Jan-2021 02:57:13 #ifdef CASATOOLS
12-Jan-2021 02:57:13 -#include <asdmstman/Register.h>
12-Jan-2021 02:57:13 +#include <asdmstman/AsdmStMan.h>
12-Jan-2021 02:57:13 #include <toolversion.h>
12-Jan-2021 02:57:13 #endif
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 @@ -59,6 +61,10 @@ utils::~utils()
12-Jan-2021 02:57:13    delete itsLog;
12-Jan-2021 02:57:13 }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 +#if ! defined(WITHOUT_DBUS)
12-Jan-2021 02:57:13 +// These parameter/XML processing routines are no longer needed with
12-Jan-2021 02:57:13 +// CASA 6 because Cereberus is used for type checking based upon
12-Jan-2021 02:57:13 +// generated JSON parameter descriptions...
12-Jan-2021 02:57:13 bool
12-Jan-2021 02:57:13 utils::verify(const ::casac::record& input, const ::casac::variant& xmldescriptor, bool throwexcept)
12-Jan-2021 02:57:13 {
12-Jan-2021 02:57:13 @@ -208,6 +214,7 @@ utils::toxml(const ::casac::record& input, const bool asfile, const std::string&
12-Jan-2021 02:57:13     }
12-Jan-2021 02:57:13     return rstat;
12-Jan-2021 02:57:13 }
12-Jan-2021 02:57:13 +#endif
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 std::string
12-Jan-2021 02:57:13 utils::getrc(const std::string& rcvar)
12-Jan-2021 02:57:13 @@ -401,15 +408,25 @@ utils::_trigger_segfault (int faultType)
12-Jan-2021 02:57:13 // -------------------- initialize CASAtools ------------------
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 static std::vector<std::string> default_data_path;
12-Jan-2021 02:57:13 +static std::string python_path;
12-Jan-2021 02:57:13 +#ifdef CASATOOLS
12-Jan-2021 02:57:13 +// CASA 6
12-Jan-2021 02:57:13 +bool utils::initialize(const std::string &pypath, const std::vector<std::string> &default_path) {
12-Jan-2021 02:57:13 +#else
12-Jan-2021 02:57:13 +// CASA 5
12-Jan-2021 02:57:13 bool utils::initialize(const std::vector<std::string> &default_path) {
12-Jan-2021 02:57:13 +    std::string pypath;
12-Jan-2021 02:57:13 +#endif
12-Jan-2021 02:57:13      static bool initialized = false;
12-Jan-2021 02:57:13      if ( initialized ) return false;
12-Jan-2021 02:57:13      default_data_path = default_path;
12-Jan-2021 02:57:13 +    python_path = pypath;
12-Jan-2021 02:57:13      casatools::get_state( ).setDataPath(default_data_path);
12-Jan-2021 02:57:13 +    casatools::get_state( ).setPythonPath(python_path);
12-Jan-2021 02:57:13      // configure quanta/measures customizations...
12-Jan-2021 02:57:13      UnitMap::putUser( "pix", UnitVal(1.0), "pixel units" );
12-Jan-2021 02:57:13 #ifdef CASATOOLS
12-Jan-2021 02:57:13 -    register_asdmstman( );
12-Jan-2021 02:57:13 +    casa::AsdmStMan::registerClass( );
12-Jan-2021 02:57:13 #endif
12-Jan-2021 02:57:13      initialized = true;
12-Jan-2021 02:57:13      return true;
12-Jan-2021 02:57:13 @@ -433,6 +450,12 @@ std::vector<std::string> utils::getpath( ) {
12-Jan-2021 02:57:13      return result;
12-Jan-2021 02:57:13 }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 +#ifdef CASATOOLS
12-Jan-2021 02:57:13 +std::string utils::getpython( ) {
12-Jan-2021 02:57:13 +    return casatools::get_state( ).pythonPath( );
12-Jan-2021 02:57:13 +}
12-Jan-2021 02:57:13 +#endif
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 void utils::clearpath( ) {
12-Jan-2021 02:57:13      casatools::get_state( ).clearDataPath( );
12-Jan-2021 02:57:13 }
12-Jan-2021 02:57:13 @@ -457,8 +480,8 @@ std::string utils::resolve(const std::string &subdir) {
12-Jan-2021 02:57:13      for ( std::list<casatools::ServiceId>::const_iterator it=servs.begin( ); it != servs.end( ); ++it ) {
12-Jan-2021 02:57:13          casac::record *sub = new casac::record;
12-Jan-2021 02:57:13          sub->insert("id",it->id( ));
12-Jan-2021 02:57:13 -        sub->insert("type",it->type( ));
12-Jan-2021 02:57:13          sub->insert("uri",it->uri( ));
12-Jan-2021 02:57:13 +        sub->insert("types",std::vector<std::string>(it->types( ).begin( ),it->types( ).end( )));
12-Jan-2021 02:57:13          sub->insert("priority",it->priority( ));
12-Jan-2021 02:57:13          regrec->insert(std::to_string(count++),sub);
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13 @@ -488,6 +511,10 @@ std::string
12-Jan-2021 02:57:13 utils::version_desc( ) { return VersionInfo::desc( ); }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 std::string
12-Jan-2021 02:57:13 +utils::version_variant( ) { return VersionInfo::variant( ); }
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 +std::string
12-Jan-2021 02:57:13 utils::version_info( ) { return VersionInfo::info( ); }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 std::string
12-Jan-2021 02:57:13 diff --git a/gcwrap/tools/xerces/stdcasaXMLUtil.cc b/gcwrap/tools/xerces/stdcasaXMLUtil.cc
12-Jan-2021 02:57:13 index b685ff1..56a2fa0 100644
12-Jan-2021 02:57:13 --- a/gcwrap/tools/xerces/stdcasaXMLUtil.cc
12-Jan-2021 02:57:13 +++ b/gcwrap/tools/xerces/stdcasaXMLUtil.cc
12-Jan-2021 02:57:13 @@ -8,6 +8,7 @@
12-Jan-2021 02:57:13 #include <stdcasa/xerces.h>
12-Jan-2021 02:57:13 #include <iostream>
12-Jan-2021 02:57:13 #include <fstream>
12-Jan-2021 02:57:13 +#include <memory>
12-Jan-2021 02:57:13 #include <stdcasa/record.h>
12-Jan-2021 02:57:13 #include <stdcasa/variant.h>
12-Jan-2021 02:57:13 #include <string.h>
12-Jan-2021 02:57:13 @@ -25,12 +26,12 @@ XERCES_CPP_NAMESPACE_USE;
12-Jan-2021 02:57:13 using namespace casa::xerces;
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 stdcasaXMLUtil::stdcasaXMLUtil() :
12-Jan-2021 02:57:13 -    rangeRec(0),
12-Jan-2021 02:57:13 -    whenRec(0),
12-Jan-2021 02:57:13 -    equalsRec(0),
12-Jan-2021 02:57:13 -    constraintsRec(0),
12-Jan-2021 02:57:13 -    defaultsRec(0),
12-Jan-2021 02:57:13 -    paramSet(0),
12-Jan-2021 02:57:13 +    rangeRec(nullptr),
12-Jan-2021 02:57:13 +    whenRec(nullptr),
12-Jan-2021 02:57:13 +    equalsRec(nullptr),
12-Jan-2021 02:57:13 +    constraintsRec(nullptr),
12-Jan-2021 02:57:13 +    defaultsRec(nullptr),
12-Jan-2021 02:57:13 +    paramSet(nullptr),
12-Jan-2021 02:57:13      ttName(""),
12-Jan-2021 02:57:13      parmName(""),
12-Jan-2021 02:57:13      lastParm("")
12-Jan-2021 02:57:13 @@ -230,6 +231,7 @@ bool stdcasaXMLUtil::readXMLFile(record &outRec, const string &fileName)
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlSource)
12-Jan-2021 02:57:13 {
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13      bool rstat(false);
12-Jan-2021 02:57:13      //const char* xmlFile = fileName.c_str();
12-Jan-2021 02:57:13      XMLCh tempStr[100];
12-Jan-2021 02:57:13 @@ -252,18 +254,20 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13              DOMElement *theMethod = doc->getDocumentElement();
12-Jan-2021 02:57:13              XMLCh *theTask = XMLString::transcode("task");
12-Jan-2021 02:57:13              DOMNodeList *allNodes = theMethod->getElementsByTagName(theTask);
12-Jan-2021 02:57:13 +            XMLString::release(&theTask);
12-Jan-2021 02:57:13              if(!allNodes->getLength()){
12-Jan-2021 02:57:13                  //cerr << "Not task" << endl;
12-Jan-2021 02:57:13                  XMLCh *theTool = XMLString::transcode("tool");
12-Jan-2021 02:57:13                  allNodes = theMethod->getElementsByTagName(theTool);
12-Jan-2021 02:57:13 +                XMLString::release(&theTool);
12-Jan-2021 02:57:13                  if(!allNodes->getLength()){
12-Jan-2021 02:57:13                      //cerr << "Not tools" << endl;
12-Jan-2021 02:57:13                      XMLCh *theParms = XMLString::transcode("casaparams");
12-Jan-2021 02:57:13                      allNodes = theMethod->getElementsByTagName(theParms);
12-Jan-2021 02:57:13 +                    XMLString::release(&theParms);
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13 -                //XMLString::release(&theTool);
12-Jan-2021 02:57:13              }
12-Jan-2021 02:57:13 -            //XMLString::release(&theTask);
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13              //
12-Jan-2021 02:57:13              // Loop through all the tasks and tools
12-Jan-2021 02:57:13              //
12-Jan-2021 02:57:13 @@ -279,18 +283,19 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                          char *aName = XMLString::transcode(myName);
12-Jan-2021 02:57:13                          DOMNode *typeNode = theAttributes->getNamedItem(type);
12-Jan-2021 02:57:13                          ttName = aName;
12-Jan-2021 02:57:13 -                        itsRecord.insert(ttName, *new record());
12-Jan-2021 02:57:13 -                        itsRecord[ttName].asRecord().insert("parameters", *new record());
12-Jan-2021 02:57:13 +                        XMLString::release(&aName);
12-Jan-2021 02:57:13 +                        itsRecord.insert(ttName, record());
12-Jan-2021 02:57:13 +                        itsRecord[ttName].asRecord().insert("parameters", record());
12-Jan-2021 02:57:13                          if(typeNode){
12-Jan-2021 02:57:13                              //const XMLCh *myType = typeNode->getNodeValue();
12-Jan-2021 02:57:13                              //char *aType = XMLString::transcode(myType);
12-Jan-2021 02:57:13                          }
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13 -                    //XMLString::release(&aName);
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13                  if(theNode->getNodeType() == DOMNode::ELEMENT_NODE){
12-Jan-2021 02:57:13                      XMLCh *input = XMLString::transcode("input");
12-Jan-2021 02:57:13                      DOMNodeList *inputNodes = dynamic_cast<DOMElement *>(theNode)->getElementsByTagName(input);
12-Jan-2021 02:57:13 +                    XMLString::release(&input);
12-Jan-2021 02:57:13                      //cerr << "Number of nodes is: " << inputNodes->getLength() << endl;
12-Jan-2021 02:57:13                      if(!inputNodes->getLength()){
12-Jan-2021 02:57:13                          //input = XMLString::transcode("casaparams");
12-Jan-2021 02:57:13 @@ -311,13 +316,15 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                  const XMLCh *myName = nameNode->getNodeValue();
12-Jan-2021 02:57:13                                  char *aName = XMLString::transcode(myName);
12-Jan-2021 02:57:13                                  parmName = aName;
12-Jan-2021 02:57:13 -                                itsRecord[ttName].asRecord()["parameters"].asRecord().insert(parmName, *new record());
12-Jan-2021 02:57:13 +                                XMLString::release(&aName);
12-Jan-2021 02:57:13 +                                itsRecord[ttName].asRecord()["parameters"].asRecord().insert(parmName, record());
12-Jan-2021 02:57:13                                  paramOrder.push_back(parmName);
12-Jan-2021 02:57:13                                  DOMNode *ignoreNode = theAttributes->getNamedItem(ignorecase);
12-Jan-2021 02:57:13                                  if(ignoreNode){
12-Jan-2021 02:57:13                                      const XMLCh *myType = ignoreNode->getNodeValue();
12-Jan-2021 02:57:13                                      char *aType = XMLString::transcode(myType);
12-Jan-2021 02:57:13                                      itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("ignorecase", aType);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aType);
12-Jan-2021 02:57:13                                 }
12-Jan-2021 02:57:13                                  DOMNode *typeNode = theAttributes->getNamedItem(type);
12-Jan-2021 02:57:13                                  if(typeNode){
12-Jan-2021 02:57:13 @@ -326,6 +333,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("type", aType);
12-Jan-2021 02:57:13                                      paramType = setType(aType);
12-Jan-2021 02:57:13                                      typeIsAny = string(aType) == string("any");
12-Jan-2021 02:57:13 +                                    XMLString::release(&aType);
12-Jan-2021 02:57:13                                      // XMLString::release(&myType);
12-Jan-2021 02:57:13                                      //XMLString::release(&aType);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13 @@ -335,6 +343,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      const XMLCh *myUnits = unitsNode->getNodeValue();
12-Jan-2021 02:57:13                                      char *aUnit = XMLString::transcode(myUnits);
12-Jan-2021 02:57:13                                      itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("units", aUnit);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aUnit);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  DOMNode *extantNode = theAttributes->getNamedItem(mustexist);
12-Jan-2021 02:57:13                                  if(extantNode){
12-Jan-2021 02:57:13 @@ -345,7 +354,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      } else {
12-Jan-2021 02:57:13                                          itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("mustexist", false);
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13 -                                    //XMLString::release(&aVal);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aVal);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  DOMNode *blankNode = theAttributes->getNamedItem(allowblank);
12-Jan-2021 02:57:13                                  if(blankNode){
12-Jan-2021 02:57:13 @@ -356,7 +365,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      } else {
12-Jan-2021 02:57:13                                          itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("allowblank", false);
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13 -                                    //XMLString::release(&aVal);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aVal);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13                                  // check for kind
12-Jan-2021 02:57:13 @@ -365,6 +374,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      const XMLCh *myKind = kindNode->getNodeValue();
12-Jan-2021 02:57:13                                      char *aKind = XMLString::transcode(myKind);
12-Jan-2021 02:57:13                                      itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("kind", aKind);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aKind);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                              }
12-Jan-2021 02:57:13                              //
12-Jan-2021 02:57:13 @@ -381,7 +391,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      char *aDesc = XMLString::transcode(myDesc);
12-Jan-2021 02:57:13                                      //cerr << "description value is: " << aDesc << endl;
12-Jan-2021 02:57:13                                      itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("description", string(aDesc));
12-Jan-2021 02:57:13 -                                    //XMLString::release(&aDesc);
12-Jan-2021 02:57:13 +                                    XMLString::release(&aDesc);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  // element allowed, attributes: enum, range (values chan have attributes min, max)
12-Jan-2021 02:57:13                                  // element any, attributes: record, variant
12-Jan-2021 02:57:13 @@ -391,10 +401,14 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      if(kindNode){
12-Jan-2021 02:57:13                                          const XMLCh *kindType = kindNode->getNodeValue();
12-Jan-2021 02:57:13                                          if(XMLString::equals(kindType, ienum)){
12-Jan-2021 02:57:13 -                                            itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("allowed", *itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                            std::unique_ptr<variant> itsval(itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                            itsRecord[ttName].asRecord()["parameters"].asRecord()
12-Jan-2021 02:57:13 +                                                [parmName].asRecord().insert("allowed", *itsval);
12-Jan-2021 02:57:13                                          } else if(XMLString::equals(kindType, range)){
12-Jan-2021 02:57:13                                              // std::cerr << "Adding ranges" << std::endl;
12-Jan-2021 02:57:13 -                                            itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("range", *itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                            std::unique_ptr<variant> itsval(itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                            itsRecord[ttName].asRecord()["parameters"].asRecord()
12-Jan-2021 02:57:13 +                                                [parmName].asRecord().insert("range", *itsval);
12-Jan-2021 02:57:13                                          } else {
12-Jan-2021 02:57:13                                              std::cerr << "Unknown allowed attribute" << std::endl;
12-Jan-2021 02:57:13                                          }
12-Jan-2021 02:57:13 @@ -407,10 +421,13 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                          DOMNode *typeNode = theAttributes->getNamedItem(type);
12-Jan-2021 02:57:13                                          if(typeNode) {
12-Jan-2021 02:57:13                                              const XMLCh *aType = typeNode->getNodeValue();
12-Jan-2021 02:57:13 -                                            paramType = setType(XMLString::transcode(aType));
12-Jan-2021 02:57:13 +                                            char *type = XMLString::transcode(aType);
12-Jan-2021 02:57:13 +                                            paramType = setType(type);
12-Jan-2021 02:57:13 +                                            XMLString::release(&type);
12-Jan-2021 02:57:13                                          }
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13 -                                    itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("value", *itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                    std::unique_ptr<variant> itsval(itsvalue(childNode, paramType));
12-Jan-2021 02:57:13 +                                    itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert("value", *itsval);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  // examples
12-Jan-2021 02:57:13                                  if(XMLString::equals(example, childNode->getNodeName())) {
12-Jan-2021 02:57:13 @@ -419,10 +436,11 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      
12-Jan-2021 02:57:13                                      record& r = itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord();
12-Jan-2021 02:57:13                                      if(r.find("example") == r.end()) {
12-Jan-2021 02:57:13 -                                        r.insert("example", *new variant(vector<string>(1, aExample)));
12-Jan-2021 02:57:13 +                                        r.insert("example", variant(vector<string>(1, aExample)));
12-Jan-2021 02:57:13                                      } else {
12-Jan-2021 02:57:13                                          r["example"].push(string(aExample));
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13 +                                    XMLString::release(&aExample);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13                                  // get limit types and put them in a string array
12-Jan-2021 02:57:13 @@ -437,7 +455,9 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                          else myTypes = ltNode2->getNodeValue();
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13                                          vector<string> v;
12-Jan-2021 02:57:13 -                                        stringstream ss(XMLString::transcode(myTypes));
12-Jan-2021 02:57:13 +                                        char *types = XMLString::transcode(myTypes);
12-Jan-2021 02:57:13 +                                        stringstream ss(types);
12-Jan-2021 02:57:13 +                                        XMLString::release(&types);
12-Jan-2021 02:57:13                                          string str;
12-Jan-2021 02:57:13                                         /*
12-Jan-2021 02:57:13                                         while(ss >> str){
12-Jan-2021 02:57:13 @@ -454,28 +474,31 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                         }
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13                                          itsRecord[ttName].asRecord()["parameters"].asRecord()[parmName].asRecord().insert(
12-Jan-2021 02:57:13 -                                                "limittypes", *(new variant(v)));
12-Jan-2021 02:57:13 +                                                "limittypes", variant(v));
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                              }
12-Jan-2021 02:57:13                          }
12-Jan-2021 02:57:13                          // insert the paramater order
12-Jan-2021 02:57:13 -                        itsRecord[ttName].asRecord().insert("parameterorder", *new variant(paramOrder));
12-Jan-2021 02:57:13 +                        variant tmpVarPO(paramOrder);
12-Jan-2021 02:57:13 +                        itsRecord[ttName].asRecord().insert("parameterorder", tmpVarPO);
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                      //
12-Jan-2021 02:57:13                      // Following section deals with the constraints block
12-Jan-2021 02:57:13                      //
12-Jan-2021 02:57:13 -                    record *constraintsRec(0);
12-Jan-2021 02:57:13 +                    std::unique_ptr<record> constraintsRec(nullptr);
12-Jan-2021 02:57:13                      XMLCh *constraints = XMLString::transcode("constraints");
12-Jan-2021 02:57:13                      DOMNodeList *constraintsNodes = dynamic_cast<DOMElement *>(theNode)->getElementsByTagName(constraints);
12-Jan-2021 02:57:13 +                    XMLString::release(&constraints);
12-Jan-2021 02:57:13                      for(XMLSize_t j=0; j<constraintsNodes->getLength(); j++){
12-Jan-2021 02:57:13                          if(!constraintsRec)
12-Jan-2021 02:57:13 -                            constraintsRec = new record;
12-Jan-2021 02:57:13 +                            constraintsRec.reset(new record);
12-Jan-2021 02:57:13                          XMLCh *when = XMLString::transcode("when");
12-Jan-2021 02:57:13                          DOMNodeList *whenNodes = dynamic_cast<DOMElement *>(constraintsNodes->item(j))->getElementsByTagName(when);
12-Jan-2021 02:57:13 +                        XMLString::release(&when);
12-Jan-2021 02:57:13                          for(XMLSize_t k=0; k<whenNodes->getLength(); k++){
12-Jan-2021 02:57:13                              record whenRec;
12-Jan-2021 02:57:13 -                            char *whenName(0);
12-Jan-2021 02:57:13 +                            std::string whenName;
12-Jan-2021 02:57:13                              // cerr << endl << "when param ";
12-Jan-2021 02:57:13                              DOMNode *theNode = whenNodes->item(k);
12-Jan-2021 02:57:13                              DOMNamedNodeMap *theAttributes = theNode->getAttributes();
12-Jan-2021 02:57:13 @@ -485,14 +508,16 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                  char *aName = XMLString::transcode(myName);
12-Jan-2021 02:57:13                                  // cerr << aName;
12-Jan-2021 02:57:13                                  whenName = aName;
12-Jan-2021 02:57:13 +                                XMLString::release(&aName);
12-Jan-2021 02:57:13                              } else {
12-Jan-2021 02:57:13                                  // cerr << endl;
12-Jan-2021 02:57:13                              }
12-Jan-2021 02:57:13                              XMLCh *equals = XMLString::transcode("equals");
12-Jan-2021 02:57:13                              DOMNodeList *equalsNodes = dynamic_cast<DOMElement *>(whenNodes->item(k))->getElementsByTagName(equals);
12-Jan-2021 02:57:13 +                            XMLString::release(&equals);
12-Jan-2021 02:57:13                              for(XMLSize_t l=0; l<equalsNodes->getLength(); l++){
12-Jan-2021 02:57:13                                  record equalsRec;
12-Jan-2021 02:57:13 -                                char *equalsName(0);
12-Jan-2021 02:57:13 +                                std::string equalsName;
12-Jan-2021 02:57:13                                  DOMNode *theNode = equalsNodes->item(l);
12-Jan-2021 02:57:13                                  DOMNamedNodeMap *theAttributes = theNode->getAttributes();
12-Jan-2021 02:57:13                                  if(theAttributes){
12-Jan-2021 02:57:13 @@ -501,18 +526,20 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                      char *aName = XMLString::transcode(myName);
12-Jan-2021 02:57:13                                      // cerr << endl  << "\t is " << aName;
12-Jan-2021 02:57:13                                      equalsName = aName;
12-Jan-2021 02:57:13 +                                    XMLString::release(&aName);
12-Jan-2021 02:57:13                                  } else {
12-Jan-2021 02:57:13                                      // cerr << endl;
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  XMLCh *idefault = XMLString::transcode("default");
12-Jan-2021 02:57:13                                  DOMNodeList *defaultNodes = dynamic_cast<DOMElement *>(equalsNodes->item(l))->getElementsByTagName(idefault);
12-Jan-2021 02:57:13 +                                XMLString::release(&idefault);
12-Jan-2021 02:57:13                                  if(defaultNodes->getLength() > 0){
12-Jan-2021 02:57:13                                      record defRecord;
12-Jan-2021 02:57:13                                      equalsRec.insert("defaults", defRecord);
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13                                  for(XMLSize_t m=0; m<defaultNodes->getLength(); m++){
12-Jan-2021 02:57:13                                      record defRec;
12-Jan-2021 02:57:13 -                                    char *defName(0);
12-Jan-2021 02:57:13 +                                    std::string defName;
12-Jan-2021 02:57:13                                      DOMNode *theNode = defaultNodes->item(m);
12-Jan-2021 02:57:13                                      DOMNamedNodeMap *theAttributes = theNode->getAttributes();
12-Jan-2021 02:57:13                                      if(theAttributes){
12-Jan-2021 02:57:13 @@ -520,12 +547,13 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                          const XMLCh *myName = nameNode->getNodeValue();
12-Jan-2021 02:57:13                                          char *aName = XMLString::transcode(myName);
12-Jan-2021 02:57:13                                          defName = aName;
12-Jan-2021 02:57:13 +                                        XMLString::release(&aName);
12-Jan-2021 02:57:13                                          // cerr << endl << "\t\tset " << aName;
12-Jan-2021 02:57:13                                      } else {
12-Jan-2021 02:57:13                                          // cerr << endl;
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13                                      // Here fetch the type from the tool/task record for the name
12-Jan-2021 02:57:13 -                                    if(defName){                                       
12-Jan-2021 02:57:13 +                                    if(!defName.empty()){
12-Jan-2021 02:57:13                                          variant::TYPE eh(variant::STRING);
12-Jan-2021 02:57:13                                          // std::cerr << " default: " << defName << std::endl;
12-Jan-2021 02:57:13                                          DOMNodeList *descNode = dynamic_cast<DOMElement *>(theNode)->getElementsByTagName(description);
12-Jan-2021 02:57:13 @@ -538,6 +566,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                              } else {
12-Jan-2021 02:57:13                                                  defRec.insert("description", "");
12-Jan-2021 02:57:13                                              }
12-Jan-2021 02:57:13 +                                            XMLString::release(&theDescription);
12-Jan-2021 02:57:13                                          }
12-Jan-2021 02:57:13                                          // check that defName is defined..
12-Jan-2021 02:57:13                                          record& tempRec = itsRecord[ttName].asRecord()["parameters"].asRecord();
12-Jan-2021 02:57:13 @@ -552,11 +581,14 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                                      char *aType = XMLString::transcode(myType);
12-Jan-2021 02:57:13                                                      if(string(aType) != "vector" || tempRec[defName].asRecord()["type"].asString() == "any")
12-Jan-2021 02:57:13                                                          eh = setType(aType);
12-Jan-2021 02:57:13 -                                                    else eh = setType(tempRec[defName].asRecord()["type"].asString());
12-Jan-2021 02:57:13 +                                                    else
12-Jan-2021 02:57:13 +                                                        eh = setType(tempRec[defName].asRecord()["type"].asString());
12-Jan-2021 02:57:13 +                                                    XMLString::release(&aType);
12-Jan-2021 02:57:13                                                  } else
12-Jan-2021 02:57:13                                                      eh = setType(tempRec[defName].asRecord()["type"].asString());
12-Jan-2021 02:57:13 -                                               
12-Jan-2021 02:57:13 -                                                defRec.insert("value", *itsvalue(valNodes->item(0), eh));
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13 +                                                std::unique_ptr<variant> itsval(itsvalue(valNodes->item(0), eh));
12-Jan-2021 02:57:13 +                                                defRec.insert("value", *itsval);
12-Jan-2021 02:57:13                                                  equalsRec["defaults"].asRecord().insert(defName, defRec);
12-Jan-2021 02:57:13                                              }
12-Jan-2021 02:57:13                                              
12-Jan-2021 02:57:13 @@ -581,15 +613,15 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                                          }
12-Jan-2021 02:57:13                                      }
12-Jan-2021 02:57:13                                  }
12-Jan-2021 02:57:13 -                                if(equalsName)
12-Jan-2021 02:57:13 +                                if(!equalsName.empty())
12-Jan-2021 02:57:13                                      whenRec.insert(equalsName, equalsRec);
12-Jan-2021 02:57:13                              }
12-Jan-2021 02:57:13 -                            if(whenName)
12-Jan-2021 02:57:13 +                            if(!whenName.empty())
12-Jan-2021 02:57:13                                  constraintsRec->insert(whenName, whenRec);
12-Jan-2021 02:57:13                          }
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                      if(constraintsRec)
12-Jan-2021 02:57:13 -                        itsRecord[ttName].asRecord().insert("constraints", constraintsRec);
12-Jan-2021 02:57:13 +                        itsRecord[ttName].asRecord().insert("constraints", *constraintsRec);
12-Jan-2021 02:57:13                      
12-Jan-2021 02:57:13                      // shortdescription, description, and example
12-Jan-2021 02:57:13                      DOMNodeList *descNodes = dynamic_cast<DOMElement*>(theNode)->getElementsByTagName(description);
12-Jan-2021 02:57:13 @@ -597,18 +629,21 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13                          const XMLCh *desc = descNodes->item(0)->getTextContent();
12-Jan-2021 02:57:13                          char *aDesc = XMLString::transcode(desc);
12-Jan-2021 02:57:13                          itsRecord[ttName].asRecord().insert("description", aDesc);
12-Jan-2021 02:57:13 +                        XMLString::release(&aDesc);
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                      descNodes = dynamic_cast<DOMElement*>(theNode)->getElementsByTagName(shortdesc);
12-Jan-2021 02:57:13                      if(descNodes->getLength() > 0) {
12-Jan-2021 02:57:13                          const XMLCh *sdesc = descNodes->item(0)->getTextContent();
12-Jan-2021 02:57:13                          char *aSdesc = XMLString::transcode(sdesc);
12-Jan-2021 02:57:13                          itsRecord[ttName].asRecord().insert("shortdescription", aSdesc);
12-Jan-2021 02:57:13 +                        XMLString::release(&aSdesc);
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                      descNodes = dynamic_cast<DOMElement*>(theNode)->getElementsByTagName(example);
12-Jan-2021 02:57:13                      if(descNodes->getLength() > 0) {
12-Jan-2021 02:57:13                          const XMLCh *ex = descNodes->item(0)->getTextContent();
12-Jan-2021 02:57:13                          char *aEx = XMLString::transcode(ex);
12-Jan-2021 02:57:13                          itsRecord[ttName].asRecord().insert("example", aEx);
12-Jan-2021 02:57:13 +                        XMLString::release(&aEx);
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13              }
12-Jan-2021 02:57:13 @@ -617,7 +652,7 @@ bool stdcasaXMLUtil::readXML(record &itsRecord,  const Wrapper4InputSource &xmlS
12-Jan-2021 02:57:13          }
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13      catch (const XMLException& toCatch) {
12-Jan-2021 02:57:13 -        char* message = XMLString::transcode(toCatch.getMessage());
12-Jan-2021 02:57:13 +        char *message = XMLString::transcode(toCatch.getMessage());
12-Jan-2021 02:57:13          cout << "Exception message is: \n"
12-Jan-2021 02:57:13          << message << "\n";
12-Jan-2021 02:57:13          XMLString::release(&message);
12-Jan-2021 02:57:13 @@ -649,7 +684,7 @@ bool stdcasaXMLUtil::writeXMLFile(const string &fileName, const record &inRec)
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 variant *stdcasaXMLUtil::tovariant(variant::TYPE theType, string &theInput, bool isVector)
12-Jan-2021 02:57:13 {
12-Jan-2021 02:57:13 -    variant *rstat(0);
12-Jan-2021 02:57:13 +    variant *rstat(nullptr);
12-Jan-2021 02:57:13      // Lump the VECs with the scalars as we only expect one
12-Jan-2021 02:57:13      // value element, which has on
12-Jan-2021 02:57:13      switch(theType){
12-Jan-2021 02:57:13 @@ -723,7 +758,7 @@ variant *stdcasaXMLUtil::tovariant(variant::TYPE theType, string &theInput, bool
12-Jan-2021 02:57:13          break;
12-Jan-2021 02:57:13      case variant::RECORD :
12-Jan-2021 02:57:13          // for now, don't bother parsing
12-Jan-2021 02:57:13 -        rstat = new variant(*new record());
12-Jan-2021 02:57:13 +        rstat = new variant(record());
12-Jan-2021 02:57:13          break;
12-Jan-2021 02:57:13      default :
12-Jan-2021 02:57:13          rstat = new variant;
12-Jan-2021 02:57:13 @@ -735,8 +770,8 @@ variant *stdcasaXMLUtil::tovariant(variant::TYPE theType, string &theInput, bool
12-Jan-2021 02:57:13 }
12-Jan-2021 02:57:13 // If there are no valueNodes then we must assign the current value!
12-Jan-2021 02:57:13 variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13 -    variant *rstatus(0);
12-Jan-2021 02:57:13 -    record *rangeRec(0);
12-Jan-2021 02:57:13 +    variant *rstatus(nullptr);
12-Jan-2021 02:57:13 +    std::unique_ptr<record> rangeRec(nullptr);
12-Jan-2021 02:57:13      bool isVector(false);
12-Jan-2021 02:57:13      DOMNodeList *valueNodes = dynamic_cast<DOMElement *>(theNode)->getElementsByTagName(value);
12-Jan-2021 02:57:13      if(valueNodes->getLength() > 1){
12-Jan-2021 02:57:13 @@ -747,9 +782,9 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13                     itsType == variant::DOUBLEVEC || itsType == variant::COMPLEXVEC ||
12-Jan-2021 02:57:13                     itsType == variant::INTVEC;
12-Jan-2021 02:57:13          const XMLCh *myValue = theNode->getTextContent();
12-Jan-2021 02:57:13 -        char *aValue = XMLString::transcode(myValue);       
12-Jan-2021 02:57:13 +        char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13          string sValue(aValue);
12-Jan-2021 02:57:13 -       
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13          bool empty = true;
12-Jan-2021 02:57:13          for(unsigned int i = 0; i < sValue.size(); i++) {
12-Jan-2021 02:57:13              if(sValue[i] != ' ' && sValue[i] != '\t' && sValue[i] != '\n' &&
12-Jan-2021 02:57:13 @@ -768,6 +803,7 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13          } else if(aValue) {
12-Jan-2021 02:57:13              rstatus = tovariant(itsType, sValue, isVector);
12-Jan-2021 02:57:13          }
12-Jan-2021 02:57:13 +        XMLString::release(&aValue);
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13      for(XMLSize_t n=0; n<valueNodes->getLength(); n++){
12-Jan-2021 02:57:13          DOMNode *theNode = valueNodes->item(n);
12-Jan-2021 02:57:13 @@ -794,10 +830,14 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13                              char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13                              if(aValue) {
12-Jan-2021 02:57:13                                  string tmp(aValue);
12-Jan-2021 02:57:13 -                                if(!o)
12-Jan-2021 02:57:13 +                                XMLString::release(&aValue);
12-Jan-2021 02:57:13 +                                if(!o) {
12-Jan-2021 02:57:13 +                                    if (rstatus)
12-Jan-2021 02:57:13 +                                        delete rstatus;
12-Jan-2021 02:57:13                                      rstatus = tovariant(itsType, tmp, isVector);
12-Jan-2021 02:57:13 -                                else
12-Jan-2021 02:57:13 +                                } else {
12-Jan-2021 02:57:13                                      addtovariant(rstatus, itsType, tmp);
12-Jan-2021 02:57:13 +                                }
12-Jan-2021 02:57:13                              }
12-Jan-2021 02:57:13                          }
12-Jan-2021 02:57:13                          break; // Now we've gotten all the vector
12-Jan-2021 02:57:13 @@ -806,16 +846,22 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13                      char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13                      if(aValue){
12-Jan-2021 02:57:13                          string tmp = aValue;
12-Jan-2021 02:57:13 -                        if(!n)
12-Jan-2021 02:57:13 +                        XMLString::release(&aValue);
12-Jan-2021 02:57:13 +                        if(!n) {
12-Jan-2021 02:57:13 +                            if (rstatus)
12-Jan-2021 02:57:13 +                                delete rstatus;
12-Jan-2021 02:57:13                              rstatus = tovariant(itsType, tmp, isVector);
12-Jan-2021 02:57:13 -                        else
12-Jan-2021 02:57:13 +                        } else {
12-Jan-2021 02:57:13                              addtovariant(rstatus, itsType, tmp);
12-Jan-2021 02:57:13 +                        }
12-Jan-2021 02:57:13                      }
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13 +                XMLString::release(&aType);
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13              } else if(rangeNode){
12-Jan-2021 02:57:13                  char *rangeType = XMLString::transcode(rangeNode->getNodeValue());
12-Jan-2021 02:57:13                  if(!rangeRec){
12-Jan-2021 02:57:13 Already on 'ARD-20'
12-Jan-2021 02:57:13 X11 forwarding request failed on channel 0
12-Jan-2021 02:57:13 To ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git
12-Jan-2021 02:57:13 -                    rangeRec = new record;
12-Jan-2021 02:57:13 * [new tag]         5.5.0-132-test-ARD-20-3 -> 5.5.0-132-test-ARD-20-3
12-Jan-2021 02:57:13 +                    rangeRec.reset(new record);
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13                  if(!rangeRec->count(rangeType)){
12-Jan-2021 02:57:13                      record rangeOps;
12-Jan-2021 02:57:13 @@ -825,7 +871,7 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13                      rangeOps.insert("inclusive", svec);
12-Jan-2021 02:57:13                      rangeRec->insert(rangeType, rangeOps);
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13 -                const XMLCh *inclusive = XMLString::transcode("inclusive");
12-Jan-2021 02:57:13 +                XMLCh *inclusive = XMLString::transcode("inclusive");
12-Jan-2021 02:57:13                  DOMNode *rangeNode = theAttributes->getNamedItem(inclusive);
12-Jan-2021 02:57:13                  char *rangeInclude(0);
12-Jan-2021 02:57:13                  if(rangeNode)
12-Jan-2021 02:57:13 @@ -834,25 +880,35 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13                      (*rangeRec)[rangeType].asRecord()["inclusive"].push(string(rangeInclude));
12-Jan-2021 02:57:13                  else
12-Jan-2021 02:57:13                      (*rangeRec)[rangeType].asRecord()["inclusive"].push(string());
12-Jan-2021 02:57:13 +                XMLString::release(&inclusive);
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13                  const XMLCh *myValue = theNode->getTextContent();
12-Jan-2021 02:57:13                  char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13                  if(aValue) {
12-Jan-2021 02:57:13                      istringstream iss(aValue);
12-Jan-2021 02:57:13 +                    XMLString::release(&aValue);
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13                      double myval;
12-Jan-2021 02:57:13                      iss >> myval;
12-Jan-2021 02:57:13                      (*rangeRec)[rangeType].asRecord()["value"].asDoubleVec().push_back(myval);
12-Jan-2021 02:57:13                      (*rangeRec)[rangeType].asRecord()["value"].shape() = vector<int>(1,
12-Jan-2021 02:57:13                              (*rangeRec)[rangeType].asRecord()["value"].asDoubleVec().size());
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13 +                XMLString::release(&rangeType);
12-Jan-2021 02:57:13 +
12-Jan-2021 02:57:13              } else {
12-Jan-2021 02:57:13                  const XMLCh *myValue = theNode->getTextContent();
12-Jan-2021 02:57:13                  char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13                  if(aValue) {
12-Jan-2021 02:57:13                      string tmp(aValue);
12-Jan-2021 02:57:13 -                    if(!n)
12-Jan-2021 02:57:13 +                    XMLString::release(&aValue);
12-Jan-2021 02:57:13 +                    if(!n) {
12-Jan-2021 02:57:13 +                        if (rstatus)
12-Jan-2021 02:57:13 +                            delete rstatus;
12-Jan-2021 02:57:13                          rstatus = tovariant(itsType, tmp, isVector);
12-Jan-2021 02:57:13 -                    else
12-Jan-2021 02:57:13 +                    } else {
12-Jan-2021 02:57:13                          addtovariant(rstatus, itsType, tmp);
12-Jan-2021 02:57:13 +                    }
12-Jan-2021 02:57:13                  }
12-Jan-2021 02:57:13              }
12-Jan-2021 02:57:13          } else {
12-Jan-2021 02:57:13 @@ -860,16 +916,24 @@ variant *stdcasaXMLUtil::itsvalue(DOMNode *theNode, variant::TYPE itsType){
12-Jan-2021 02:57:13              char *aValue = XMLString::transcode(myValue);
12-Jan-2021 02:57:13              if(aValue){
12-Jan-2021 02:57:13                  string tmp(aValue);
12-Jan-2021 02:57:13 -                if(!n)
12-Jan-2021 02:57:13 +                XMLString::release(&aValue);
12-Jan-2021 02:57:13 +                if(!n) {
12-Jan-2021 02:57:13 +                    if (rstatus)
12-Jan-2021 02:57:13 +                        delete rstatus;
12-Jan-2021 02:57:13                      rstatus = tovariant(itsType, tmp, isVector);
12-Jan-2021 02:57:13 -                else
12-Jan-2021 02:57:13 +                } else {
12-Jan-2021 02:57:13                      addtovariant(rstatus, itsType, tmp);
12-Jan-2021 02:57:13 +                }
12-Jan-2021 02:57:13              }
12-Jan-2021 02:57:13              // }
12-Jan-2021 02:57:13          }
12-Jan-2021 02:57:13      }
12-Jan-2021 02:57:13 -    if(rangeRec)
12-Jan-2021 02:57:13 -        rstatus = new variant(rangeRec);
12-Jan-2021 02:57:13 +    if(rangeRec) {
12-Jan-2021 02:57:13 +        if (rstatus) {
12-Jan-2021 02:57:13 +            delete rstatus;
12-Jan-2021 02:57:13 +        }
12-Jan-2021 02:57:13 +        rstatus = new variant(*rangeRec);
12-Jan-2021 02:57:13 +    }
12-Jan-2021 02:57:13      if(!rstatus)
12-Jan-2021 02:57:13          rstatus = new variant();
12-Jan-2021 02:57:13      return rstatus;
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 Comparison returned: 1
12-Jan-2021 02:57:13 Checkout: git checkout ARD-20
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 [git, tag, -a, 5.5.0-132-test-ARD-20-3, -m 'Automatic tag']
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 Done tagging 5.5.0-132-test-ARD-20-3
12-Jan-2021 02:57:13 Pushing 5.5.0-132-test-ARD-20-3 to origin
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 Pushed 5.5.0-132-test-ARD-20-3 to origin
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 BUILD SUCCESSFUL
12-Jan-2021 02:57:13
12-Jan-2021 02:57:13 Total time: 27.095 secs
12-Jan-2021 02:57:14 Finished task 'Script' with result: Success
12-Jan-2021 02:57:14 Running post build plugin 'Docker Container Cleanup'
12-Jan-2021 02:57:14 Running post build plugin 'NCover Results Collector'
12-Jan-2021 02:57:14 Running post build plugin 'Clover Results Collector'
12-Jan-2021 02:57:14 Running post build plugin 'npm Cache Cleanup'
12-Jan-2021 02:57:14 Running post build plugin 'Artifact Copier'
12-Jan-2021 02:57:14 Finalising the build...
12-Jan-2021 02:57:14 Stopping timer.
12-Jan-2021 02:57:14 Build ARD-BPT16-TBFP-3 completed.
12-Jan-2021 02:57:14 Running on server: post build plugin 'NCover Results Collector'
12-Jan-2021 02:57:14 Running on server: post build plugin 'Build Hanging Detection Configuration'
12-Jan-2021 02:57:14 Running on server: post build plugin 'Clover Delta Calculator'
12-Jan-2021 02:57:14 Running on server: post build plugin 'Maven Dependencies Postprocessor'
12-Jan-2021 02:57:14 All post build plugins have finished
12-Jan-2021 02:57:14 Generating build results summary...
12-Jan-2021 02:57:14 Saving build results to disk...
12-Jan-2021 02:57:14 Logging substituted variables...
12-Jan-2021 02:57:14 Indexing build results...
12-Jan-2021 02:57:14 Finished building ARD-BPT16-TBFP-3.