|
COOPY » Guide
version 0.6.5
|
Base class for all sinks of table differences. More...
#include <Patcher.h>
Public Member Functions | |
| Patcher () | |
| virtual | ~Patcher () |
| virtual bool | wantLinks () |
| virtual bool | changeConfig (const ConfigChange &change) |
| virtual bool | changeColumn (const OrderChange &change) |
| virtual bool | changeRow (const RowChange &change) |
| virtual bool | changePool (const PoolChange &change) |
| virtual bool | declareLink (const LinkDeclare &decl) |
| virtual bool | declareNames (const std::vector< std::string > &names, bool isFinal) |
| This method is headed toward deprecation in favor of changeName. | |
| virtual bool | changeName (const NameChange &change) |
| virtual bool | mergeStart () |
| virtual bool | mergeDone () |
| virtual bool | mergeAllDone () |
| virtual bool | setSheet (const char *name) |
| virtual bool | addSheet (const char *name, const coopy::store::PolySheet &sheet) |
| virtual bool | removeSheet (const char *name) |
| virtual bool | renameSheet (const char *name0, const char *name1) |
| virtual bool | setFlags (const CompareFlags &flags) |
| const CompareFlags & | getFlags () const |
| CompareFlags & | getMutableFlags () |
| virtual bool | wantDiff () |
| virtual bool | addRow (const char *tag, const std::vector< coopy::store::SheetCell > &row, const std::string &blank) |
| virtual bool | addRow (const char *tag, const std::vector< std::string > &row, const std::string &blank) |
| virtual bool | addHeader (const char *tag, const std::vector< coopy::store::SheetCell > &row, const std::string &blank) |
| virtual bool | addHeader (const char *tag, const std::vector< std::string > &row, const std::string &blank) |
| virtual bool | stripMarkup () |
| virtual void | attachSheet (coopy::store::PolySheet sheet) |
| void | attachBook (coopy::store::TextBook &book) |
| coopy::store::TextBook * | getBook () |
| virtual bool | startOutput (const std::string &output, CompareFlags &flags) |
| virtual bool | stopOutput (const std::string &output, CompareFlags &flags) |
| virtual bool | needOutputBook () |
| virtual bool | outputStartsFromInput () |
| void | attachOutputBook (coopy::store::TextBook &book) |
| coopy::store::TextBook * | getOutputBook () |
| virtual int | getChangeCount () |
| virtual void | setConflicted () |
| virtual bool | isConflicted () const |
| bool | applyPool (const PoolChange &change) |
| bool | addPoolsFromFlags (const coopy::store::DataSheet &sheet, bool msg=true) |
| bool | addPoolsFromSchema (const coopy::store::DataSheet &sheet, const coopy::store::NameSniffer &sniffer, const std::string &sheetName, bool msg=true) |
| virtual coopy::store::PolySheet | getSheet () |
| virtual bool | metaHint (const coopy::store::DataSheet &sheet) |
| virtual bool | setNames (bool forceSheetChange=false) |
Static Public Member Functions | |
| static Patcher * | createByName (const char *name, const char *version=NULL) |
| static bool | copyFile (const char *src, const char *dest) |
Protected Attributes | |
| CompareFlags | flags |
| FILE * | out |
| coopy::store::PolySheet | patch_sheet |
| coopy::store::PolySheet | active_sheet |
| coopy::store::TextBook * | patch_book |
| coopy::store::TextBook * | output_book |
| bool | conflicted |
| bool | pending |
| coopy::cmp::Patcher::Patcher | ( | ) | [inline] |
Definition at line 316 of file Patcher.h.
References conflicted, out, output_book, patch_book, and pending.
| virtual coopy::cmp::Patcher::~Patcher | ( | ) | [inline, virtual] |
| virtual bool coopy::cmp::Patcher::addHeader | ( | const char * | tag, |
| const std::vector< coopy::store::SheetCell > & | row, | ||
| const std::string & | blank | ||
| ) | [inline, virtual] |
Definition at line 420 of file Patcher.h.
References addRow().
Referenced by addHeader(), and coopy::cmp::Merger::merge().
| virtual bool coopy::cmp::Patcher::addHeader | ( | const char * | tag, |
| const std::vector< std::string > & | row, | ||
| const std::string & | blank | ||
| ) | [inline, virtual] |
Definition at line 426 of file Patcher.h.
References addHeader().
| bool Patcher::addPoolsFromFlags | ( | const coopy::store::DataSheet & | sheet, |
| bool | msg = true |
||
| ) |
Definition at line 255 of file Patcher.cpp.
References coopy::store::SheetSchema::getColumnCount(), coopy::store::SheetSchema::getColumnInfo(), coopy::store::PoolColumnLink::getColumnName(), coopy::store::ColumnInfo::getName(), coopy::store::PoolColumnLink::getPoolName(), coopy::store::DataSheet::getSchema(), coopy::store::SheetSchema::getSheetName(), coopy::store::PoolColumnLink::getTableName(), coopy::store::PoolColumnLink::isInventor(), coopy::store::PoolColumnLink::isValid(), NULL, coopy::cmp::PoolChange::pool, coopy::cmp::PoolChange::poolName, and coopy::cmp::PoolChange::tableName.
Referenced by coopy::cmp::BookCompare::create(), and coopy::cmp::Merger::merge().
| bool Patcher::addPoolsFromSchema | ( | const coopy::store::DataSheet & | sheet, |
| const coopy::store::NameSniffer & | sniffer, | ||
| const std::string & | sheetName, | ||
| bool | msg = true |
||
| ) |
Definition at line 302 of file Patcher.cpp.
References coopy::store::ColumnType::autoIncrement, coopy::store::Pool::create(), coopy::store::ColumnType::foreignKey, coopy::store::ColumnType::foreignTable, coopy::store::PoolColumnLink::getColumnName(), coopy::store::PoolColumnLink::getPoolName(), coopy::store::PoolColumnLink::getTableName(), coopy::store::PoolColumnLink::isInventor(), coopy::store::PoolColumnLink::isValid(), coopy::store::Pool::lookup(), coopy::cmp::PoolChange::pool, coopy::cmp::CompareFlags::pool, coopy::cmp::PoolChange::poolName, coopy::store::NameSniffer::suggestColumnName(), coopy::store::NameSniffer::suggestColumnType(), coopy::cmp::PoolChange::tableName, and coopy::store::DataSheet::width().
Referenced by coopy::cmp::BookCompare::create().
| virtual bool coopy::cmp::Patcher::addRow | ( | const char * | tag, |
| const std::vector< coopy::store::SheetCell > & | row, | ||
| const std::string & | blank | ||
| ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputPatch.
Definition at line 406 of file Patcher.h.
Referenced by addHeader(), and addRow().
| virtual bool coopy::cmp::Patcher::addRow | ( | const char * | tag, |
| const std::vector< std::string > & | row, | ||
| const std::string & | blank | ||
| ) | [inline, virtual] |
| virtual bool coopy::cmp::Patcher::addSheet | ( | const char * | name, |
| const coopy::store::PolySheet & | sheet | ||
| ) | [inline, virtual] |
Definition at line 379 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::compare().
| bool Patcher::applyPool | ( | const PoolChange & | change | ) |
Definition at line 232 of file Patcher.cpp.
References NULL, coopy::cmp::PoolChange::pool, coopy::cmp::PoolChange::poolName, and coopy::cmp::PoolChange::tableName.
Referenced by coopy::cmp::SheetPatcher::changePool(), coopy::cmp::MergeOutputPool::changePool(), and coopy::cmp::MergeOutputFilter::changePool().
| void Patcher::attachBook | ( | coopy::store::TextBook & | book | ) |
Definition at line 156 of file Patcher.cpp.
Referenced by coopy::app::Diff::apply(), csvs_diff(), generateExample(), and WideSheetManager::mergeToLocal().
| void coopy::cmp::Patcher::attachOutputBook | ( | coopy::store::TextBook & | book | ) | [inline] |
Definition at line 466 of file Patcher.h.
References output_book.
Referenced by csv_merge(), and csvs_diff().
| virtual void coopy::cmp::Patcher::attachSheet | ( | coopy::store::PolySheet | sheet | ) | [inline, virtual] |
Definition at line 442 of file Patcher.h.
References patch_sheet.
| virtual bool coopy::cmp::Patcher::changeColumn | ( | const OrderChange & | change | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputCsvDiffV0p2, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputSqlDiff, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, coopy::cmp::MergeOutputVerboseDiff, and coopy::cmp::SheetPatcher.
Definition at line 331 of file Patcher.h.
Referenced by coopy::cmp::Merger::merge(), and coopy::cmp::BookCompare::resolve().
| virtual bool coopy::cmp::Patcher::changeConfig | ( | const ConfigChange & | change | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter, and coopy::cmp::SheetPatcher.
Definition at line 329 of file Patcher.h.
Referenced by coopy::cmp::SheetPatcher::changeConfig(), and coopy::cmp::MergeOutputFilter::changeConfig().
| virtual bool coopy::cmp::Patcher::changeName | ( | const NameChange & | change | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, coopy::cmp::MergeOutputVerboseDiff, and coopy::cmp::SheetPatcher.
Definition at line 355 of file Patcher.h.
References declareNames(), coopy::cmp::NameChange::final, coopy::cmp::NameChange::mode, coopy::cmp::NAME_CHANGE_DECLARE, and coopy::cmp::NameChange::names.
Referenced by coopy::cmp::BookCompare::create(), coopy::cmp::Merger::merge(), and coopy::cmp::BookCompare::resolve().
| virtual bool coopy::cmp::Patcher::changePool | ( | const PoolChange & | change | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputPool, coopy::cmp::MergeOutputTdiff, coopy::cmp::MergeOutputVerboseDiff, and coopy::cmp::SheetPatcher.
Definition at line 335 of file Patcher.h.
Referenced by coopy::cmp::SheetPatcher::changePool().
| virtual bool coopy::cmp::Patcher::changeRow | ( | const RowChange & | change | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputCsvDiffV0p2, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputRowOps, coopy::cmp::MergeOutputSqlDiff, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, coopy::cmp::MergeOutputVerboseDiff, and coopy::cmp::SheetPatcher.
Definition at line 333 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::create(), coopy::cmp::Merger::merge(), and coopy::cmp::BookCompare::resolve().
| bool Patcher::copyFile | ( | const char * | src, |
| const char * | dest | ||
| ) | [static] |
Definition at line 130 of file Patcher.cpp.
References NULL.
| Patcher * Patcher::createByName | ( | const char * | name, |
| const char * | version = NULL |
||
| ) | [static] |
Definition at line 54 of file Patcher.cpp.
References NULL.
Referenced by coopy::app::Coopy::setFormat().
| virtual bool coopy::cmp::Patcher::declareLink | ( | const LinkDeclare & | decl | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputNovel, and coopy::cmp::SheetPatcher.
Definition at line 337 of file Patcher.h.
Referenced by coopy::cmp::SheetPatcher::declareLink(), coopy::cmp::MergeOutputFilter::declareLink(), and coopy::cmp::Merger::merge().
| virtual bool coopy::cmp::Patcher::declareNames | ( | const std::vector< std::string > & | names, |
| bool | isFinal | ||
| ) | [inline, virtual] |
This method is headed toward deprecation in favor of changeName.
Called with a sequence of column names. It is called twice. First, with final=false, giving an initial sequence. Then, a series of changeColumn() calls may happen, specifying manipulations of the columns. After all changeColumn() calls have happened, this method is called again, with final=true, giving a final sequence of column names.
Reimplemented in coopy::cmp::MergeOutputCsvDiffV0p2, coopy::cmp::MergeOutputHumanDiff, and coopy::cmp::SheetPatcher.
Definition at line 351 of file Patcher.h.
Referenced by changeName().
| coopy::store::TextBook* coopy::cmp::Patcher::getBook | ( | ) | [inline] |
Definition at line 448 of file Patcher.h.
References patch_book.
| virtual int coopy::cmp::Patcher::getChangeCount | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::SheetPatcher.
Definition at line 474 of file Patcher.h.
Referenced by coopy::app::Coopy::getChangeCount().
| const CompareFlags& coopy::cmp::Patcher::getFlags | ( | ) | const [inline] |
Definition at line 394 of file Patcher.h.
References flags.
Referenced by coopy::cmp::MergeOutputFilter::changePool().
| CompareFlags& coopy::cmp::Patcher::getMutableFlags | ( | ) | [inline] |
| coopy::store::TextBook* coopy::cmp::Patcher::getOutputBook | ( | ) | [inline] |
Definition at line 470 of file Patcher.h.
References output_book.
| coopy::store::PolySheet Patcher::getSheet | ( | ) | [virtual] |
Definition at line 177 of file Patcher.cpp.
References coopy::store::DataSheet::dataTail(), coopy::store::PolySheet::dataTail(), coopy::store::PolySheet::forbidSchema(), and coopy::store::PolySheet::isValid().
| virtual bool coopy::cmp::Patcher::isConflicted | ( | ) | const [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter.
Definition at line 484 of file Patcher.h.
References conflicted.
Referenced by coopy::cmp::MergeOutputFilter::isConflicted().
| virtual bool coopy::cmp::Patcher::mergeAllDone | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputCsvDiffV0p2, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputPatch, coopy::cmp::MergeOutputStats, and coopy::cmp::SheetPatcher.
Definition at line 370 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::compare(), coopy::cmp::BookCompare::create(), and coopy::cmp::BookCompare::resolve().
| virtual bool coopy::cmp::Patcher::mergeDone | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputTdiff, and coopy::cmp::SheetPatcher.
Definition at line 366 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::compare(), coopy::cmp::BookCompare::create(), coopy::cmp::Merger::merge(), and coopy::cmp::BookCompare::resolve().
| virtual bool coopy::cmp::Patcher::mergeStart | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, and coopy::cmp::SheetPatcher.
Definition at line 362 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::compare(), coopy::cmp::BookCompare::create(), and coopy::cmp::BookCompare::resolve().
| bool Patcher::metaHint | ( | const coopy::store::DataSheet & | sheet | ) | [virtual] |
Definition at line 193 of file Patcher.cpp.
References coopy::store::SheetSchema::clone(), dbg_printf, coopy::store::DataSheet::getMeta(), coopy::store::DataSheet::hasRowOffset(), and coopy::store::DataSheet::height().
Referenced by coopy::cmp::SheetCompare::compare().
| virtual bool coopy::cmp::Patcher::needOutputBook | ( | ) | [inline, virtual] |
| virtual bool coopy::cmp::Patcher::outputStartsFromInput | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputNovel, and coopy::cmp::SheetPatcher.
| virtual bool coopy::cmp::Patcher::removeSheet | ( | const char * | name | ) | [inline, virtual] |
Definition at line 384 of file Patcher.h.
Referenced by coopy::cmp::BookCompare::compare().
| virtual bool coopy::cmp::Patcher::renameSheet | ( | const char * | name0, |
| const char * | name1 | ||
| ) | [inline, virtual] |
| virtual void coopy::cmp::Patcher::setConflicted | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter, and coopy::cmp::SheetPatcher.
Definition at line 480 of file Patcher.h.
References conflicted.
Referenced by coopy::cmp::Merger::mergeRow(), coopy::cmp::SheetPatcher::setConflicted(), and coopy::cmp::MergeOutputFilter::setConflicted().
| bool Patcher::setFlags | ( | const CompareFlags & | flags | ) | [virtual] |
Reimplemented in coopy::cmp::SheetPatcher.
Definition at line 150 of file Patcher.cpp.
References coopy::cmp::CompareFlags::out.
Referenced by coopy::app::Diff::apply(), coopy::cmp::BookCompare::compare(), generateExample(), WideSheetManager::mergeToLocal(), coopy::cmp::BookCompare::resolve(), and coopy::cmp::SheetPatcher::setFlags().
| virtual bool coopy::cmp::Patcher::setNames | ( | bool | forceSheetChange = false | ) | [inline, virtual] |
Reimplemented in coopy::cmp::SheetPatcher.
| virtual bool coopy::cmp::Patcher::setSheet | ( | const char * | name | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputNovel, coopy::cmp::MergeOutputPool, coopy::cmp::MergeOutputRowOps, coopy::cmp::MergeOutputSqlDiff, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, coopy::cmp::MergeOutputVerboseDiff, and coopy::cmp::SheetPatcher.
Definition at line 374 of file Patcher.h.
Referenced by coopy::cmp::SheetCompare::compare(), coopy::cmp::BookCompare::create(), and coopy::cmp::BookCompare::resolve().
| bool Patcher::startOutput | ( | const std::string & | output, |
| CompareFlags & | flags | ||
| ) | [virtual] |
Definition at line 104 of file Patcher.cpp.
References NULL, and coopy::cmp::CompareFlags::out.
Referenced by coopy::app::Diff::apply().
| bool Patcher::stopOutput | ( | const std::string & | output, |
| CompareFlags & | flags | ||
| ) | [virtual] |
Definition at line 120 of file Patcher.cpp.
References coopy::cmp::CompareFlags::out.
Referenced by coopy::app::Diff::apply().
| virtual bool coopy::cmp::Patcher::stripMarkup | ( | ) | [inline, virtual] |
Definition at line 436 of file Patcher.h.
Referenced by coopy::cmp::Merger::merge().
| virtual bool coopy::cmp::Patcher::wantDiff | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutput, coopy::cmp::MergeOutputCsvDiff, coopy::cmp::MergeOutputCsvDiffV0p2, coopy::cmp::MergeOutputEditList, coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputHumanDiff, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputPatch, coopy::cmp::MergeOutputPool, coopy::cmp::MergeOutputRowOps, coopy::cmp::MergeOutputSqlDiff, coopy::cmp::MergeOutputStats, coopy::cmp::MergeOutputTdiff, and coopy::cmp::MergeOutputVerboseDiff.
Definition at line 404 of file Patcher.h.
Referenced by coopy::cmp::Merger::merge(), and coopy::cmp::Merger::mergeRow().
| virtual bool coopy::cmp::Patcher::wantLinks | ( | ) | [inline, virtual] |
Reimplemented in coopy::cmp::MergeOutputFilter, coopy::cmp::MergeOutputIndex, coopy::cmp::MergeOutputNovel, and coopy::cmp::SheetPatcher.
Definition at line 327 of file Patcher.h.
Referenced by coopy::cmp::SheetCompare::compare(), coopy::cmp::Merger::merge(), coopy::cmp::Merger::mergeRow(), coopy::cmp::SheetPatcher::wantLinks(), and coopy::cmp::MergeOutputFilter::wantLinks().
bool coopy::cmp::Patcher::conflicted [protected] |
Definition at line 313 of file Patcher.h.
Referenced by isConflicted(), Patcher(), and setConflicted().
CompareFlags coopy::cmp::Patcher::flags [protected] |
Definition at line 307 of file Patcher.h.
Referenced by getFlags(), and getMutableFlags().
FILE* coopy::cmp::Patcher::out [protected] |
coopy::store::TextBook* coopy::cmp::Patcher::output_book [protected] |
Definition at line 312 of file Patcher.h.
Referenced by attachOutputBook(), getOutputBook(), and Patcher().
coopy::store::TextBook* coopy::cmp::Patcher::patch_book [protected] |
Definition at line 309 of file Patcher.h.
Referenced by attachSheet().
bool coopy::cmp::Patcher::pending [protected] |
1.7.4