Overview

The previous implementation of spreadsheet in spreadsheet.cm was initally designed to work with products and features (DsBaseExternalRefTypes) as these were the only things initially shown in spreadsheet. Later this spreadsheet class became the base class for materials and other stuff as well, but the naming of the fields and methods together with the logic were left as it is, new subclasses of the spreadsheet would still use the original implications to the data it holds as "Products".

To make the spreadsheet compatible with more data types, a refactoring was done on the spreadsheet. Instead of supporting the DsBaseExternalRefType, it has now been refactored to support DsBaseCodeType, which is the parent class of DsBaseExternalRefType. DsBaseCodeType is also the parent class of other data types, such as DsRuleType (constraints data). This refactoring has allowed the reuse of the spreadsheet in "Constraints" tab within creator to hold and show constraints data, while also maintaining the funtionalities that were previously implemented with the spreadsheet class itself.

Compile Time Changes

cm.abstract.dataSymInterface

Constructor argument and class field name for DsiVariantsFeatureProxySubSet were renamed from featurePath to featureCode

// DsiVariantsFeatureProxySubSet (cm/abstract/dataSymInterface/dsiVariants.cm)
Old: public constructor(str featurePath, str[] seq=null)
New: public constructor(str featureCode, str[] seq=null)

Old: public str featurePath
New: public str featureCode

Removed some interfaces related to variants/constraints during optimization, visit dsiVariants.cm for updated implementation. Main reasons for changes are:

  1. Optional Select Features are to be constrained by it's specific option rather than the combinational state of the features. Instead of previously needing to specify FeatureA.codes in {"Option1", "Option2"}, now you would specify conditions on each of the options: FeatureA.Option1.checked = true or FeatureB.Option2.checked = true.
  2. Optional Select Features are now referenced by "feature paths" that describes the specific option of the feature instead of just the feature. Hence the paradigm of having a str->SFeature feature path to Feature map to contain the feature paths is no longer applicable.
  3. Selection state of the data instance (DsPData) is now cached within the instance using constrainedSelPathEnv.
  4. Some constraints interfaces now have a DsiConstraintEnv argument to reuse a preprocessed state for performance reasons.
// DsiVariantsCache (cm/abstract/dataSymInterface/dsiVariants.cm)
Removed: public str->SFeature features
Removed: public str->Object selectedValues
Removed: public VConstraint[] constraints

// DsiVariantsFeatureProxy (cm/abstract/dataSymInterface/dsiVariants.cm)
Removed: public str{} codes
Added: public bool checked

// cm/abstract/dataSymInterface/DsiPData.cm
Old: extend public bool constrainedOption(str featurePath, str option, double value)
New: extend public bool constrainedOption(str featurePath, str option, double value, DsiConstraintEnv constraintEnv=null) 

Old: extend public str[] constrainedOptions(str featurePath)
New: extend public str[] constrainedOptions(str featurePath, DsiConstraintEnv constraintEnv=null) 

Old: extend public Option findFirstUnconstrainedOption(str featurePath)
New: extend public Option findFirstUnconstrainedOption(str featurePath, DsiConstraintEnv constraintEnv=null)

Old: extend public Double findFirstUnconstrainedNumericOptionV(str featurePath)
New: extend public Double findFirstUnconstrainedNumericOptionV(str featurePath, DsiConstraintEnv constraintEnv=null)

Removed: extend public bool constrainedOptionalValue(str featurePath, str option, bool check)
Removed: extend public bool constrainedOptionalCheck(str featurePath, str{} newSelected=null)
Added:  extend public bool constrainedOptionalValue(str featurePath, bool checked, DsiConstraintEnv constraintEnv=null)

// cm/abstract/dataSymInterface/dsiVariants.cm
Old: public str[] dsiVariantsConstraintIds(str s)
New: public str[] dsiVariantsConstraintFeaturePaths(str s)

Removed: public str->SFeature dsiVariantsFeatures(DsiPData data)
Removed: public str->SFeature dsiVariantsFeatures(DsiPData data, str featurePath)
Removed: public str->Object dsiVariantsSelectedValues(DsiPData data)
Removed: public VConstraint[] dsiVariantsConstraints(DsiPData data, str featurePath, str->SFeature features)
Removed: public VariantsSpan dsiVariantsSpan(DsiPData data, str->SFeature features, VConstraint[] constraints)
Removed: public Object[] dsiVariantsSpanValues(DsiPData data, str featurePath, str option, double value, str->SFeature features, str->Object selectedValues, VariantsSpan variantsSpan)
Removed: public Object[] dsiVariantsSpanValues(DsiPData data, str->SFeature features, str->Object selectedValues, VariantsSpan variantsSpan)
Removed: public Object[] dsiVariantsReplaceSpanValue(Object[] spanValues, str featurePath, str option, double value, VariantsSpan variantsSpan) 

Debug flags for catalog constraints have been removed. Constraints now should be enabled via Catalog Creator for each catalog ("Enable constraints (BETA)").

// cm/abstract/dataSymInterface/header.cm
Removed: public bool dsiEnableConstraints
Removed: public bool dsiEnableVariants
Removed: public void enableDsiConstraints(bool v)
Removed: public bool getDsiConstraintsEnabled()
Removed: public void enableDsiVariantsTables(bool v)
Removed: public bool getDsiVariantsTablesEnabled()

cm.abstract.dataSymbol

Some public interfaces from DsPData are moved to DsiPData

// DsPData (cm/abstract/dataSymbol/dsPData.cm)
Old : public str{} unresolvedConstrainedFP: copy=null, stream=null;
Moved to:  DsiPData (cm/abstract/dataSymInterface\dsiPData.cm)

Old: extend public bool applyConstraintRules()
New: public bool applyConstraintRules()
Method declaration moved to DsiPData (cm/abstract/dataSymInterface\dsiPData.cm)

Old: extend public bool isUnresolvedConstrainedFeaturePath(str featurePath)
Moved to DsiPData (cm/abstract/dataSymInterface\dsiPData.cm)

custom.dataCatalog.builder

Some public interfaces were changed to package/private.

// custom/dataCatalog/builder/variantsTables/dcVariantsTableCard.cm
Old: extend public void recordUndoOp(DcUndoOp op)
New: final package void recordUndoOp(DcUndoOp op)

// custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsGridWindow.cm
Old: extend public bool acceptAll(DcGridWindowColumn column, DsRuleType rule)
New: final private bool acceptAll(DcGridWindowColumn column, DsRuleType rule)

Old: extend public bool acceptAny(DcGridWindowColumn column, DsRuleType rule)
New: final private bool acceptAny(DcGridWindowColumn column, DsRuleType rule)

// custom/dataCatalog/builder/dataImport/excel/dcExcelImportDialog.cm
Old: extend public void setSelectionView(DcExcelSelectionView view)
New: extend public void setSelectionView(DcExcelSelectionView view)

Old: extend public bool handleEvent(str key|, str msg=null, Object value=null)
New: final package bool handleEvent(str key|, str msg=null, Object value=null)

Old: extend public bool importBtnEvent(str msg=null, Object value=null)
New: final package bool importBtnEvent(str msg=null, Object value=null)

Old: extend public bool cancelBtnEvent(str msg=null, Object value=null)
New: final package bool cancelBtnEvent(str msg=null, Object value=null)

// custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsShrink.cm
Old: extend public void setOutput(str error)
New: extend package void setOutputError(str error)

DcExcelImportEnvG1 now uses a list of tuples for storing the imported tables.

// custom/dataCatalog/builder/dataImport/excel/dcExcelImportEnv.cm
Old: public DsTableType[] tables
New: public <str, str, DsTableType>[] tables

DcDBBuilderSpreadsheet append column method now accepts repaint argument.

// DcDBBuilderSpreadsheet (custom/dataCatalog/builder/ui/spreadsheet/spreadsheet.cm)
Old: extend public void appendColumn(DcSpreadsheetColumn col)
New: extend public void appendColumn(DcSpreadsheetColumn col, bool repaint=true)

All classes that extends from the below classes requires refactoring as well.

Spreadsheet

custom.dataCatalog.builder.ui.spreadsheet

Change class field and method name and method arguments for : DcDBBuilderSpreadsheet

//DcDBBuilderSpreadsheet
(custom/dataCatalog/builder/ui/spreadsheet/spreadsheet.cm)

Old: public <str, bool>[] allProducts();
New: public <str, bool>[] allData();

Old: extend public str[] productKeys(bool visibleOnly=false)
New: extend public str[] dataKeys(bool visibleOnly=false)

Old: extend public DsBaseExternalRefType rowData(int row) : abstract
New: extend public DsBaseCodeType rowData(int row) : abstract

Old: extend public DsBaseExternalRefType getProduct(str pCode) : abstract
New: extend public DsBaseCodeType getData(str dataCode) : abstract

Old: extend public void productCodeChange(str from, str to)
New: extend public void dataCodeChange(str from, str to)

Old: extend public void productCodeChanged(str from, str to)
New: extend public void dataCodeChanged(str from, str to)

Old: extend public void productCodeChanged(str from, str to, PointI pos=null)
New: extend public void dataCodeChanged(str from, str to, PointI pos=null)

Old: extend public void pasteProductCodeChanged(str from, str to)
New: extend public void pasteDataCodeChanged(str from, str to)

Old: extend public void createProduct(str code, str cloneFrom=null, bool update=true)
New: extend public void createData(str code, str cloneFrom=null, bool update=true)

Old: extend public void removeProduct(str code)
New: extend public void removeData(str code)

Old: extend public DcUndoOp changeProductCodeUndoOp(str oldCode, str newCode)
New: extend public DcUndoOp changeDataCodeUndoOp(str oldCode, str newCode)

Old: extend public void changeProductCode(str oldCode, str newCode)
New: extend public void changeDataCode(str oldCode, str newCode)

Old: extend public DcDBBuilderUpdateEnv productCodeChangeEnv(str oldCode, str newCode)
New: extend public DcDBBuilderUpdateEnv dataCodeChangeEnv(str oldCode, str newCode)

Old: extend public void showProduct(str code, bool allowRemoveFilters=true)
New: extend public void showData(str code, bool allowRemoveFilters=true)

Old: extend public DsBaseExternalRefType createNewProduct(str code, str cloneFrom) : abstract
New: extend public DsBaseCodeType createNewData(str code, str cloneFrom) : abstract

Old: extend public void putInCatalog(DsBaseExternalRefType prod, bool update=true) : abstract
New: extend public void putInCatalog(DsBaseCodeType data, bool update=true) : abstract

Old: extend public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true) : abstract
New: extend public void removeFromCatalog(DsBaseCodeType data, bool update=true) : abstract

Old: extend public Int indexInCatalog(DsBaseExternalRefType prod) : abstract
New: extend public Int indexInCatalog(DsBaseCodeType data) : abstract

Old: extend public void resetProductVisibility()
New: extend public void resetDataVisibility()

Old: extend public str tmpProductCode(str productCode)
New: extend public str tmpDataCode(str dataCode)

Old: extend public str productCode(str productCode)
New: extend public str dataCode(str dataCode)

Old: extend public <DsBaseExternalRefType, int> dropDownOwnerLoc(int x, int y)
New: extend public <DsBaseCodeType, int> dropDownOwnerLoc(int x, int y)

Old: extend public void recordMoveDuplicatedProductRowOperation(str code, int fromR, int toR)
New: extend public void recordMoveDuplicatedDataRowOperation(str code, int fromR, int toR)

Old: extend public void moveDuplicatedProductRowPostcondition(int fromR, int toR)
New: extend public void moveDuplicatedDataRowPostcondition(int fromR, int toR)

custom.dataCatalog.builder.utility

Change method and argument names for : DcAnonymousFilesGridWindow

//DcAnonymousFilesGridWindow
(custom/dataCatalog/builder/utility/dcAnonymousFilesGridWindow.cm)

Old: public DsBaseExternalRefType getProduct(str pCode)
New: public DsBaseExternalRefType getData(str pCode)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

custom.dataCatalog.builder.productType

Change method name and arguments for : DcDBBuilderProductSS

//DcDBBuilderProductSS
(custom/dataCatalog/builder/productType/dcDBBuilderProductSS.cm)

Old: public DsProductType getProduct(str pCode)
New: public DsProductType getData(str pCode)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void removeProduct(str code)
New: public void removeData(str code)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

Old: public void changeProductCode(str from, str to)
New: public void changeDataCode(str from, str to)

Old: public void recordMoveDuplicatedProductRowOperation(str code, int fromR, int toR)
New: public void recordMoveDuplicatedDataRowOperation(str code, int fromR, int toR)

custom.dataCatalog.builder.productCatalog

Change method name and arguments for : DcDBBuilderTOCSpreadsheet

//DcDBBuilderTOCSpreadsheet
(custom/dataCatalog/builder/productCatalog/dcTOCSpreadsheet.cm)

Old: public DsBaseExternalRefType getProduct(str code)
New: public DsBaseExternalRefType getData(str code)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

custom.dataCatalog.builder.layouts

Change method names and arguments for : DcLayoutsGridWindow

//DcLayoutsGridWindow
(custom/dataCatalog/builder/layouts/layoutCard.cm)

Old: public DsBaseExternalRefType getProduct(str pCode)
New: public DsBaseExternalRefType getData(str pCode)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

custom.dataCatalog.builder.materials

Change method names and arguments for : DcDBBuilderMaterialsSS

//DcDBBuilderMaterialsSS
(custom/dataCatalog/builder/materials/dcDBBuilderMaterialsGridWindow.cm)

Old: public DsBaseExternalRefType getProduct(str mCode)
New: public DsBaseExternalRefType getData(str mCode)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

Old: public void changeProductCode(str from, str to)
New: public void changeDataCode(str from, str to)

Old: public void recordMoveDuplicatedProductRowOperation(str code, int fromR, int toR)
New: public void recordMoveDuplicatedDataRowOperation(str code, int fromR, int toR)

custom.dataCatalog.builder.features

Change method names and arguments for : DcFeaturesGridWindow

//DcFeaturesGridWindow
(custom/dataCatalog/builder/features/dcFeaturesGridWindow.cm)

Old: public DsProductType getProduct(str fKey)
New: public DsProductType getData(str fKey)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void createProduct(str fKey, str cloneFrom=null, bool update=true)
New: public void createData(str fKey, str cloneFrom=null, bool update=true)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType prod)

Old: public void changeProductCode(str from, str to)
New: public void changeDataCode(str from, str to)

Old: public void moveDuplicatedProductRowPostcondition(int fromR, int toR)
New: public void moveDuplicatedDataRowPostcondition(int fromR, int toR)

Change method names and arguments for : DcOptionsGridWindow

//DcOptionsGridWindow
(custom/dataCatalog/builder/features/dcOptionsGridWindow.cm)

Old: public DsProductType getProduct(str optKey)
New: public DsProductType getData(str optKey)

Old: public void productCodeChange(str from, str to)
New: public void dataCodeChange(str from, str to)

Old: public void productCodeChanged(str from, str to)
New: public void dataCodeChanged(str from, str to)

Old: public DcDBBuilderUpdateEnv productCodeChangeEnv(str oldCode, str newCode)
New: public DcDBBuilderUpdateEnv dataCodeChangeEnv(str oldCode, str newCode)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsBaseExternalRefType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType prod, bool update=true)

Old: public void pasteProductCodeChanged(str from, str to)
New: public void pasteDataCodeChanged(str from, str to)

Old: public void createProduct(str code, str cloneFrom=null, bool update=true)
New: public void createData(str code, str cloneFrom=null, bool update=true)

Old: public void removeProduct(str code)
New: public void removeData(str code)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType prod, bool update=true)

Old: public DcUndoOp changeProductCodeUndoOp(str oldCode, str newCode)
New: public DcUndoOp changeDataCodeUndoOp(str oldCode, str newCode)

Old: public void changeProductCode(str oldCode, str newCode)
New: public void changeDataCode(str oldCode, str newCode)

Old: public void moveDuplicatedProductRowPostcondition(int fromR, int toR)
New: public void moveDuplicatedDataRowPostcondition(int fromR, int toR)

custom.dataCatalog.builder.constraints

Change method names and arguments for : DcDBBuilderConstraintsSpreadsheet. Some methods were also removed in favour of using the parent spreadsheet's interfaces to perform the same behaviours.

Removed: extend public DsRuleType[] data()

Removed: extend public DsRuleType[] data=(DsRuleType[] data)

Old: public DsBaseExternalRefType createNewProduct(str code, str cloneFrom)
New: public DsRuleType createNewData(str code, str cloneFrom)

Old: public void putInCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void putInCatalog(DsBaseCodeType rule, bool update=true)

Old: public void removeFromCatalog(DsBaseExternalRefType prod, bool update=true)
New: public void removeFromCatalog(DsBaseCodeType rule, bool update=true)

Old: public Int indexInCatalog(DsBaseExternalRefType prod)
New: public Int indexInCatalog(DsBaseCodeType rule)

Old: public DsBaseExternalRefType getProduct(str pCode)
New: public DsRuleType getData(str dataCode)

Removed: public void productCodeChanged(str from, str to, PointI pos=null)

Removed: public bool resolveDuplicateCode(str& newCode, str oldCode)

Removed: extend public void completeSortList()

Removed: public void sortColumn(int i, bool reverseSort=false)

Removed: extend public int remSortList(str code)

Removed: extend public void build()

Removed: public void rebuild()

Removed: extend public void updateColumns()

Removed: extend public void buildColumns()

Removed: public void appendFillerRows()

Removed: public void appendBlankRowOfCells()

Removed: public void recordFilterUndoOp(int col, DcGridWindowFilter[] oldFilters, DcGridWindowFilter[] newFilters, bool[] oldFilterList, bool[] newFilterList, bool endRecord=true)

Removed: public void filter(bool repaint=true)

Removed: extend public DsRuleType[] filter(DsRuleType[] rules)

Removed: public int dataCount()

Removed: public int filteredDataCount()

Removed: public void createRowFromData(int row)

Removed: public DcGridWindowColumn getColumn(int columnIndex)

Removed: extend public void deleteCell(int col, int row)

Removed: public void release(pointI p)

Removed: public void showColumnDropDown(int col, pointI p=(0, 0))

Removed: public bool removeFiltersBtnClicked(pointI p)

Cells

custom.dataCatalog.builder.ui.spreadsheet

Change constructor arguments, class field data types and names for : DcDBBuilderSpreadsheetCell

//DcDBBuilderSpreadsheetCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public DsBaseExternalRefType product;
New: public DsBaseCodeType data;

Old: public constructor(DsBaseExternalRefType product)
New: public constructor(DsBaseCodeType data)

Old: public constructor(DsBaseExternalRefType product, bool spaceHighlight)
New: public constructor(DsBaseCodeType data, bool spaceHighlight)

Removed: public constructor(DsBaseCodeType codeType=null)

Old: extend public bool setCellData(DcDBBuilderSpreadsheet gridWindow, DcGridCell cell, str data)
New: extend public bool setCellData(DcDBBuilderSpreadsheet gridWindow, DcGridCell cell, str newData)

Change constructor arguments and method argument names for : PrdCodeCell

//PrdCodeCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p)
New: public constructor(DsBaseCodeType p)

Old: public constructor(DsBaseExternalRefType p, bool spaceHighlight=false)
New: public constructor(DsBaseCodeType p, bool spaceHighlight=false)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method argument names for : PrdDescCell

//PrdDescCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p, str l)
New: public constructor(DsBaseCodeType p, str l)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcProductRootParentCell

//DcProductRootParentCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : PrdVendorCell

//PrdVendorCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method argument names for : PrdPriceCell

//PrdPriceCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p, str id)
New: public constructor(DsBaseCodeType p, str id)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments for : PrdExtRefCell

//PrdExtRefCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p, UsageType ut)
New: public constructor(DsBaseCodeType p, UsageType ut)

Change method argument names for : PrdFeatureCell

//PrdFeatureCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcPrdVariantsTablesCell

//DcPrdVariantsTablesCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcPrdConstraintTablesCell

//DcPrdConstraintTablesCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcPrdConstraintCell

//DcPrdConstraintCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcDefaultOptionRefCell

//DcDefaultOptionRefCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method argument names for : DcMirrorProductRefCell

//DcMirrorProductRefCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: extend public bool clearOldMirrorProductRefs(DcMirrorProductRefCell cell, str data, DcDBBuilderSpreadsheet ss)
New: extend public bool clearOldMirrorProductRefs(DcMirrorProductRefCell cell, str string, DcDBBuilderSpreadsheet ss)

Old: extend public bool updateReciprocalMirrorProductRefs(DcMirrorProductRefCell cell, str data, DcDBBuilderSpreadsheet ss)
New: extend public bool updateReciprocalMirrorProductRefs(DcMirrorProductRefCell cell, str s, DcDBBuilderSpreadsheet ss)

Change constructor arguments and method argument names for : DcMirrorAngleOfSymmetryCell

//DcMirrorAngleOfSymmetryCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p) 
New: public constructor(DsBaseCodeType p)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments for : MaterialPreviewCell

//MaterialPreviewCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public constructor(DsBaseExternalRefType p) 
New: public constructor(DsBaseCodeType p)

Change method argument names for : DcExpandCollapseCell

//DcExpandCollapseCell
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

custom.dataCatalog.builder.utility

Change method argument names for : DcAddBooleanCell

//DcAddBooleanCell
(custom/dataCatalog/builder/utility/dcUtilityCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

custom.dataCatalog.builder.productType

Change constructor arguments and method arguments for : PrdPriceCell

//PrdPriceCell
(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public constructor(DsBaseExternalRefType prod, str priceListRef, str optionPriceCode)
New: public constructor(DsBaseCodeType prod, str priceListRef, str optionPriceCode)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method arguments for : PrdPkgCountCell, PrdOmitCell, PrdOmitPNCell, PrdDisableStyleNrLookupCell, PrdIndTagCell, PrdIndTagCategoryCell, PrdLeadtimeProgramRefCell, PrdCategoryCell, PrdModelsCell, PrdMtrlAppCell, PrdConnectorsCell, PrdPropertyVisibilityCell, PrdTagPlacementCell

(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : PrdMeasurementCell

//PrdMeasurementCell
(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public constructor(DsBaseExternalRefType prod, dsMeasurementType mType, str unit, str system)
New: public constructor(DsBaseCodeType prod, dsMeasurementType mType, str unit, str system)

Old: public constructor(DsBaseExternalRefType prod, str mTypeS, str unit, str system)
New: public constructor(DsBaseCodeType prod, str mTypeS, str unit, str system)

Old: public bool validateData(str data) 
New: public bool validateData(str newData)

Old: extend public str cleanData(str data)
New: extend public str cleanData(str dataStr)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method arguments for : DcPrdAddProductCell

//DcPrdAddProductCell
(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: extend public DsiAddProductRefType[] getAddProducts(str data)
New: extend public DsiAddProductRefType[] getAddProducts(str addData)

Change constructor arguments and method arguments for : PrdPreviewUrlCell

//PrdPreviewUrlCell
(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public constructor(DsBaseExternalRefType p)
New: public constructor(DsBaseCodeType p)

Old: public bool validateData(str data)
New: public bool validateData(str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : PrdSIFClassCell

//PrdSIFClassCell
(custom/dataCatalog/builder/productType/dcProductCells.cm)

Old: public constructor(DsBaseExternalRefType p, str tag)
New: public constructor(DsBaseCodeType p, str tag)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

custom.dataCatalog.builder.productCatalog

Change method argument names for : DcProductCatalogCell

//DcProductCatalogCell
(custom/dataCatalog/builder/productCatalog/dcProductCatalogCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public void drawText(PixelDevice dc, GridWindow gw, rectI r, rectI clip, int x, int y, str data)
New: public void drawText(PixelDevice dc, GridWindow gw, rectI r, rectI clip, int x, int y, str txt)

Change method argument names for : DcProductLevelCodeCell, DcProductLevelUILevelCell, DcMultiplierCell, DcCurrencyRoundingCell

(custom/dataCatalog/builder/productCatalog/dcProductCatalogCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : DcProductCatalogUnitCell

//DcProductCatalogUnitCell
(custom/dataCatalog/builder/productCatalog/dcProductCatalogCells.cm)

Old: public constructor(DsBaseExternalRefType product, SubSet subset=null, double stepLength=1, bool useStepButton=true)
New: public constructor(DsBaseCodeType product, SubSet subset=null, double stepLength=1, bool useStepButton=true)

Change method argument names for : DcProductLevelDescCell

//DcProductLevelDescCell
(custom/dataCatalog/builder/productCatalog/dcProductCatalogCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

custom.dataCatalog.builder.layouts

Change method argument names for : DcLayoutGrpKeyCell, DcLayoutTagsCell

(custom/dataCatalog/builder/layouts/layoutCard.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

custom.dataCatalog.builder.materials

Change constructor arguments and method arguments for : MaterialPreviewUrlCell

//MaterialPreviewUrlCell
(custom/dataCatalog/builder/materials/dcMaterialColumns.cm)

Old: public constructor(DsBaseExternalRefType p)
New: public constructor(DsBaseCodeType p)

Old: public bool validateData(str data)
New: public bool validateData(str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : MaterialExtRefCell

//MaterialExtRefCell
(custom/dataCatalog/builder/materials/dcMaterialColumns.cm)

Old: public constructor(DsBaseExternalRefType p, UsageType ut, bool showRes)
New: public constructor(DsBaseCodeType p, UsageType ut, bool showRes)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

custom.dataCatalog.builder.features

Change method argument names for : DcShowOptionsCell

//DcShowOptionsCell
(custom/dataCatalog/builder/features/dcFeaturesGridWindow.cm)

Old: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str data)
New: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str txt)

Change method argument names for : FeatDescCell, FeatGroupCodeCell, FeatFunctionalCell, FeatSkuCell, FeatOmitOnOrderCell, FeatNumericCell, FeatLayersCell, FeatVendorCell, FeatDecimalCell, FeatPropertyVisibilityCell, FeatSyncOptionDirCell

(custom/dataCatalog/builder/features/dcFeatureCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : FeatBooleanCell

//FeatBooleanCell
(custom/dataCatalog/builder/features/dcFeatureCells.cm)

Old: public constructor(DsBaseExternalRefType p, function(DcFeaturesGridWindow, FeatBooleanCell, int, int) callback=null)
New: public constructor(DsBaseCodeType p, function(DcFeaturesGridWindow, FeatBooleanCell, int, int) callback=null)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method arguments for : FeatDefaultOptionCell, FeatSyncGroupIdCell, FeatInvOptsVisibilityCell

//FeatDefaultOptionCell
(custom/dataCatalog/builder/features/dcFeatureCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str data)
New: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str txt)

Change constructor and method arguments for : FeatDelimiterCell

//FeatDelimiterCell
(custom/dataCatalog/builder/features/dcFeatureCells.cm)

Removed: public constructor(DsBaseExternalRefType p)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method arguments for : FeatMultiSelectionCell, FeatOptionalSelectionCell

(custom/dataCatalog/builder/features/dcFeatureCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Change method arguments for : OptCodeCell, OptOptionalNoCodeCell, OptDescCell, OptPriceCell, OptSkuCell, OptUndefinedCell, OptFeatureCell, OptionRangeEnumCell, OptNumericSkuCell

(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : OptPriceCodeCell

//OptPriceCodeCell
(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public constructor(DsBaseExternalRefType prod, str priceListRef)
New: public constructor(DsBaseCodeType prod, str priceListRef)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change method arguments for : OptLeadtimeCell, DcOptAddProductCell

(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Change method arguments for : OptionextRefKeyCell

(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : OptionRangeCell

//OptionRangeCell
(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public constructor(DsBaseExternalRefType product)
New: public constructor(DsBaseCodeType p)

Old: public bool setCellData(DcDBBuilderSpreadsheet gridWindow, DcGridCell cell, str data)
New: public bool setCellData(DcDBBuilderSpreadsheet gridWindow, DcGridCell cell, str newData)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: extend public bool addRange(Option product, DcOptionRangeCellEnv env, int x, int y, Double data)
New: extend public bool addRange(Option opt, DcOptionRangeCellEnv env, int x, int y, Double newData)

Change constructor arguments and method arguments for : OptionMtrlAppCell

//OptionMtrlAppCell
(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public constructor(DsBaseExternalRefType p, SFeature parentFeature)
New: public constructor(DsBaseCodeType p, SFeature parentFeature)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : OptDelimiterCell

//OptDelimiterCell 
(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public constructor(DsBaseExternalRefType p)
New: public constructor(DsBaseCodeType p)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change constructor arguments and method arguments for : OptMirrorRefCell

//OptMirrorRefCell
(custom/dataCatalog/builder/features/dcOptionCells.cm)

Old: public constructor(DsBaseExternalRefType p)
New: public constructor(DsBaseCodeType p)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: extend public bool clearOldMirrorOptionRefs(OptMirrorRefCell cell, str data, DcDBBuilderSpreadsheet ss)
New: extend public bool clearOldMirrorOptionRefs(OptMirrorRefCell cell, str string, DcDBBuilderSpreadsheet ss)

Old: extend public bool updateReciprocalMirrorOptionRefs(OptMirrorRefCell cell, str data, DcDBBuilderSpreadsheet ss)
New: extend public bool updateReciprocalMirrorOptionRefs(OptMirrorRefCell cell, str string, DcDBBuilderSpreadsheet ss)

custom.dataCatalog.builder.constraints

Moved column classes into a new file custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsColumns.cm and set their scopes to package.

(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Removed: public class DcConstraintSSColumn extends DcSpreadsheetColumn

Removed: public class DcSpreadsheetConstraintColumnLabel extends DcSpreadsheetColumnLabel

Removed: public class DcConstraintExpSSColumn extends DcConstraintSSColumn

Removed: public class DcConstraintCodeSSColumn extends DcConstraintSSColumn

Removed: public class DcConstraintVendorSSColumn extends DcConstraintSSColumn

Removed: public class DcConstraintExpTypeSSColumn extends DcConstraintSSColumn

Changed scope of classes to package

(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Old: public class DcConstraintSSGridCell extends DcDBBuilderSpreadsheetCell
New: package class DcConstraintSSGridCell extends DcDBBuilderSpreadsheetCell

Old: public class DcConstraintExpSSGridCell extends DcConstraintSSGridCell
New: package class DcConstraintExpSSGridCell extends DcConstraintSSGridCell

Old: public class DcConstraintCodeSSGridCell extends DcConstraintSSGridCell
New: package class DcConstraintCodeSSGridCell extends DcConstraintSSGridCell

Old: public class DcConstraintVendorSSGridCell extends DcConstraintSSGridCell
New: package class DcConstraintVendorSSGridCell extends DcConstraintSSGridCell

Old: public class DcConstraintExpTypeSSGridCell extends DcConstraintSSGridCell
New: package class DcConstraintExpTypeSSGridCell extends DcConstraintSSGridCell

Change methods for : DcConstraintSSGridCell

//DcConstraintSSGridCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Removed: extend public DsRuleType rule=(DsRuleType r)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Removed: extend public bool synchronizeRule(int row)

Removed: public bool close(GridWindow gw, bool canceled)

Removed: extend public void recordNewRule(DsRuleType rule, int col=0)

Change methods for : DcConstraintExpSSGridCell

//DcConstraintExpSSGridCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change methods for : DcEditConstraintCell

//DcEditConstraintCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Old: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str data)
New: public bool draw(PixelDevice dc, GridWindow gw, rectI r, int x, int y, str newData)

Change constructor and methods for : DcConstraintCodeSSGridCell

//DcConstraintCodeSSGridCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Removed: extend public str makeValidCode(str code)

Removed: extend public void recordCodeChange(DsRuleType rule, str oldCode)

Change methods for : DcConstraintVendorSSGridCell

//DcConstraintVendorSSGridCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Change methods for : DcConstraintExpTypeSSGridCell

//DcConstraintExpTypeSSGridCell
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCells.cm)

Old: public bool setData(int x, int y, str data)
New: public bool setData(int x, int y, str newData)

Old: public bool undoableSetData(DcGridWindow gw, int x, int y, str data)
New: public bool undoableSetData(DcGridWindow gw, int x, int y, str newData)

Columns

custom.dataCatalog.builder.ui.spreadsheet

Change method arguments and argument names for : DcSpreadsheetColumn

//DcSpreadsheetColumn
(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetColumns.cm)

Old: extend public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: extend public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

Old: extend public void sort(<str, bool>[] allProducts, DcSSSortArgs args)
New: extend public void sort(<str, bool>[] allData, DcSSSortArgs args)

Change method arguments for : DcPrdVendorColumn, DcPrdDescColumn, DcPrdDescColumn, DcPrdPriceColumn, DcPrdFeatureColumn, DcPrdVariantsTablesColumn, DcPrdConstraintTablesColumn, DcPrdConstraintColumn, DcDefaultOptionRefColumn, DcProductRootParentColumn, DcMaterialCodeColumn, DcMaterialPreviewColumn, DcMaterialDescriptionColumn, DcMirrorProductRefColumn, DcMirrorAngleOfSymmetryColumn,

(custom/dataCatalog/builder/ui/spreadsheet/dcSpreadsheetColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.utility

Change method arguments for : DcAddColumn

//DcAddColumn
(custom/dataCatalog/builder/utility/dcUtilityColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

Change method argument type for : DcAnonymousFile

//DcAnonymousFile
(custom/dataCatalog/builder/utility/dcUtilityColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.productType

Change method arguments for : DcPrdPkgCountColumn, DcPrdOmitColumn, DcPrdOmitPNColumn, DcPrdDisableStyleNrLookupColumn, DcPrdIndTagColumn, DcPrdIndTagCategoryColumn, DcPrdLeadtimeProgColumn, DcPrdCategoryColumn, DcPrdPriceCodeColumn, DcPrdMeasurementColumn, DcPrdModelsColumn, DcPrdAddProductsColumn, DcPrdPreviewUrlColumn, DcPrdSIFClassColumn, DcPrdMtrlAppColumn, DcPrdConnectorsColumn, DcPrdPropertyVisibilityColumn, DcPrdTagPlacementColumn

(custom/dataCatalog/builder/productType/dcProductColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.productCatalog

Change method arguments for : DcPrdLvlCodeColumn, DcMultiplierColumn, DcUILevelColumn, DcCurrencyRoundingColumn, DcProductLevelDescColumn

(custom/dataCatalog/builder/productCatalog/dcProductCatalogColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.layouts

Change method arguments for : DcLayoutCodeColumn, DcLayoutKeyColumn, DcLayoutGrpKeyColumn, DcLayoutPrdCodeColumn, DcLayoutTagsColumn

(custom/dataCatalog/builder/layouts/layoutCard.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.materials

Change method arguments for : DcMaterialExtRefColumn, DcMaterialPreviewUrlColumn

(custom/dataCatalog/builder/materials/dcMaterialColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

custom.dataCatalog.builder.features

Change method arguments for : DcShowOptionsColumn

//DcShowOptionsColumn
(custom/dataCatalog/builder/features/dcFeaturesGridWindow.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

Change method arguments for : DcFeatCodeColumn, DcFeatDefaultOptionColumn, DcFeatSimilarColumn, DcFeatGroupCodeColumn, DcFeatFunctionalColumn, DcFeatSkuColumn, DcFeatMultiSelectionColumn, DcFeatOptionalSelectionColumn, DcFeatOmitOnOrderColumn, DcFeatNumericColumn, DcFeatLayersColumn, DcFeatDescColumn, DcFeatVendorColumn, DcFeatDecimalColumn, DcFeatDelimiterColumn, DcFeatInvOptsVisibilityColumn, DcFeatPropertyVisibilityColumn, DcFeatSyncGroupIdColumn, DcFeatSyncOptionDirColumn

(custom/dataCatalog/builder/features/dcFeatureColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

Change method arguments for : DcOptCodeColumn, DcOptOptionalNoCodeColumn, DcOptLeadtimeColumn, DcOptPriceColumn, DcOptPriceCodeColumn, DcOptSkuColumn, DcOptUndefinedColumn, DcOptDescColumn, DcOptFeatureColumn, DcOptDelimiterColumn, DcOptNumericSkuColumn, DcOptExtRefKeyColumn, DcOptMtrlAppColumn, DcOptModelsColumn, DcOptAddProductsColumn, DcOptRangeMinColumn, DcOptRangeMaxColumn, DcOptRangeStepColumn, DcOptDiscreteNumsColumn, DcOptRangeExpandColumn, DcOptMirrorRefColumn

(custom/dataCatalog/builder/features/dcOptionColumns.cm)

Old: public DcDBBuilderSpreadsheetCell makeCell(DsBaseExternalRefType p)
New: public DcDBBuilderSpreadsheetCell makeCell(DsBaseCodeType p)

Undo Operations

custom.dataCatalog.builder.undo

Change class field type, constructor arguments type for : DcSpreadsheetAddUndoOp

//DcSpreadsheetAddUndoOp
(custom/dataCatalog/builder/undo/dcCodeChangeUndoOps.cm)

Old: public DsBaseExternalRefType product;
New: public DsBaseCodeType product;

Old: public constructor(DialogWindow dialog, DsBaseExternalRefType product, DcDBBuilderSpreadsheet ss, int index, int sortValue)
New: public constructor(DialogWindow dialog, DsBaseCodeType product, DcDBBuilderSpreadsheet ss, int index, int sortValue)

Constraints

custom.dataCatalog.builder.constraints

Change methods for : DcDBBuilderConstraintsCard

//DcDBBuilderConstraintsCard
(custom/dataCatalog/builder/constraints/dcDBBuilderConstraintsCard.cm)

Old: extend public void startEdit(DsRuleType selectedConstraint, bool ignoreUndo=false)
New: extend public void startEdit(str constraintCode, bool ignoreUndo=false)

Removed: extend public void recordNewRule(DsRuleType rule)

Remove undo operation classes

(custom/dataCatalog/builder/constraints/dcDBuilderConstraintsUndoOps.cm)

Removed: public class DcCodeChangeConstraintUndoOp extends DcConstraintUndoOp

Removed: public class DcTypeChangeConstraintUndoOp extends DcConstraintUndoOp

Removed: public class DcExpChangeConstraintUndoOp extends DcConstraintUndoOp

Removed: public class DcConstraintFilterUndoOp extends DcFilterUndoOp

Removed: public class DcConstraintSortUndoOp extends DcConstraintUndoOp

Runtime/Behavior Changes

cm.abstract.dataSymInterface

Interfaces related to Vx expression validation takes additional vendor argument.

// DsiExprValidationEnv (dsiExprValidationEnv.cm)
Old: public constructor(VxRuntime rt, dsiConstraintExpressionType exprType, str expr, DataCatalog cat)
New: public constructor(VxRuntime rt, dsiConstraintExpressionType exprType, str expr, DataCatalog cat, str vendor)


//dsiVariants.cm
Old: public bool dsiValidateConstraintExpr(DataCatalog cat, dsiConstraintExpressionType exprType, str expr, StrBuf error=null)
New: public bool dsiValidateConstraintExpr(DataCatalog cat, dsiConstraintExpressionType exprType, str expr, str vendor, StrBuf error=null)

custom.dataCatalog.builder

Constraints-related Cards (Tabs) in Catalog Creator are placed between Geometry and Validation Cards. Take note of the sort keys used.

Geometry         // 700 (no change)
Constraints      // 720 (added)
ConstraintTables // 725 (added)
VariantsTables   // 727 (added)
Validation       // 745 (no change)

custom.dataCatalog.builder.constraints

Interfaces related to Vx expression validation takes additional vendor argument.

// DcDBBuilderConstraintsCard (dcDBBuilderConstraintsCard.cm)
Old: extend public bool validExpression(dsiConstraintExpressionType constraintExpType, str exp, StrBuf error)
New: extend public bool validExpression(dsiConstraintExpressionType constraintExpType, str exp, str vendor, StrBuf error)

Previously deprecated Catalog Creator Constraints Tab classes and interfaces are now removed. New classes and interfaces are found in the package.

// dcDBuilderConstraintsCard.cm
Removed: public dcBuildEditConstraintsCard(DcDBBuilderCardWindow cw, int index=700)
Removed: public DcDBBuilderEditConstraintsCard dcDBBuilderEditConstraintsCard(Window this=null)
Removed: public class DcDBBuilderEditConstraintsCard 

// dcDBuilderConstraintsCells.cm
Removed: public class DcConstraintColumn
Removed: public class DcConstraintGridCell
Removed: public class DcConstraintExpColumn
Removed: public class DcConstraintExpGridCell 
Removed: public class DcConstraintCodeColumn 
Removed: public class DcConstraintCodeGridCell 
Removed: public class DcConstraintExpTypeColumn
Removed: public class DcConstraintExpTypeGridCell

// dcDBuilderConstraintsGridWindow.cm
Removed: public DcDBBuilderConstraintsSS dcConstraintsGridWindow
Removed: public class DcDBBuilderConstraintsSS

// dcDBuilderConstraintsShrink.cm
Removed: public class DcFramelessExpressionShrink

custom.dataCatalog.builder.variantsTables

Removed previously deprecated field for Variants Table UI class for Catalog Creator

// DcVariantsTableGridSubWindow (dcVariantsTableGridSubWindow.cm)
Removed: public DsButton importBtn

Miscellaneous

DsRuleType is now vendor specific

DsRuleType catalog entity is now fixed to be vendor specific (as per the OFDA schema, similar to Features and Products). Following the convention, DsRuleType is associated a particular by having the vendor code stored in the class: a new vendor field as added.

// DsRuleType (cm/abstract/dataSymInterface/catalog/ruleType.cm)
Added: `private str _vendor
Added: extend public str vendor()
Added: extend public str vendor=(str vend)