importPackage(Packages.de.elo.ix.jscript);
importPackage(Packages.de.elo.ix.scripting);
//@include lib_Class.js
//@include lib_sol.common.Config.js
//@include lib_sol.common.SordUtils.js
//@include lib_sol.common.TranslateTerms.js
//@include lib_sol.common.ix.DynKwlSearchIterator.js
/**
* Dynamic keyword list that returns the sord content of unittests selected by typeNames
*
* @author JHR, ELO Digital Office GmbH
* @version 1.0
*
* @requires sol.Logger
* @requires sol.common.Config
* @requires sol.common.SordUtils
* @requires sol.common.TranslateTerms
* @requires sol.common.ix.DynKwlSearchIterator
*/
sol.define("sol.dev.ix.dynkwl.FindUnitTestIterator", {
extend: "sol.common.ix.DynKwlSearchIterator",
* @cfg
* @inheritdoc
*/
tableHeaders: null,
/**
* @cfg
* @inheritdoc
*/
tableTitle: null,
/**
* @cfg
* @inheritdoc
*/
tableKeyNames: null,
/**
* @cfg
* Array of typeNames that are used by the FindByType search.
*/
typeNames: null,
/**
* @cfg
* Array of datafields used by the search results.
*/
rowDataFields: null,
/**
* @cfg
* @inheritdoc
*/
searchParams: [{ mode: "STARTS_WITH" }],
initialize: function (config) {
var me = this,
i;
/*
me.devConfig = sol.create("sol.common.Config", {load: "ARCPATH:/Administration/Business Solutions/development/Configuration/sol.dev.Config"}).config;
me.tableTitle = me.devConfig.dynkwl.contact.tableTitle;
me.tableHeaders = me.devConfig.dynkwl.contact.tableHeaders;
me.tableKeyNames = me.devConfig.dynkwl.contact.tableKeyNames;
me.typeNames = me.devConfig.dynkwl.contact.typeNames;
me.maskId = me.devConfig.dynkwl.contact.maskId;
me.rowDataFields = me.devConfig.dynkwl.contact.rowDataFields;
*/
me.tableTitle = "FindUnitTest";
me.tableHeaders = ["Status3", "Status4"];
me.tableKeyNames = ["UNITTEST_STATUS3", "UNITTEST_STATUS4"];
me.typeNames = ["UnitTest"];
me.maskId = "UnitTest";
me.rowDataFields = ["UNITTEST_STATUS3", "UNITTEST_STATUS4"];
for (i = 0; i < me.tableHeaders.length; i++) {
me.tableHeaders[i] = sol.common.TranslateTerms.translate(me.tableHeaders[i]);
}
me.tableTitle = sol.common.TranslateTerms.translate(me.tableTitle);
me.$super("sol.common.ix.DynKwlSearchIterator", "initialize", [config]);
},
/**
* Implements a find by type search that is filtered by name.
* @param {String[]} filterList
* @return {Object} findInfo
*/
getFindInfo: function (filterList) {
this.log.enter("getFindInfo");
var findInfo,
findByType, findByIndex, typeNames;
findInfo = new FindInfo();
findByType = new FindByType();
typeNames = this.typeNames;
findByType.typeNames = typeNames;
findInfo.findByType = findByType;
if (filterList && filterList.length > 0) {
findByIndex = new FindByIndex();
findByIndex.maskId = this.maskId;
findByIndex.name = filterList[0];
findInfo.findByIndex = findByIndex;
}
this.log.exit("getFindInfo");
return findInfo;
},
/**
* Basic implementation for search results.
* This returns the content of the sord index fields.
* @param {Object} sord
* @return {Object[]}
*/
getRowData: function (sord) {
var me = this,
data = [],
i;
for (i = 0; i < me.rowDataFields.length; i++) {
data.push(sol.common.SordUtils.getObjKeyValue(sord, me.rowDataFields[i]));
}
return data;
}
});
/**
* Implements a DynamicKeywordDataProvider for this keyword list that can be used by checkoutKeywordsDynamic.
* @static
* @member sol.dev.ix.dynkwl.FindUnitTestIterator
* @return {DynamicKeywordDataProvider}
*/
function getDataIterator() {
var log = sol.create("sol.Logger", { scope: "sol.dev.ix.dynkwl.FindUnitTestIterator" }),
iterator;
try {
log.info("DynamicKeywordList (");
iterator = sol.create("sol.dev.ix.dynkwl.FindUnitTestIterator", {});
return new DynamicKeywordDataProvider(iterator);
} finally {
log.info(")getDataIterator");
}
}