Skip to content
Snippets Groups Projects
Commit 693cc6e8 authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

Lead import: use keyword attributes for technical value of the separators

parent 0d07971d
No related branches found
No related tags found
No related merge requests found
Showing
with 498 additions and 377 deletions
......@@ -3,15 +3,28 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="73b3b4b3-6ba1-4551-b9dd-161079a1c755"/>
<column name="KEYID" value="6d3b5757-0b8f-45ca-b625-98aaef7f5782"/>
<column name="TITLE" value='"'/>
<column name="CONTAINER" value="FieldLimit"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ATTRIBUTE">
<column name="AB_KEYWORD_ATTRIBUTEID" value="38997f56-c86a-4dd3-b2ed-1fb73da604ae"/>
<column name="NAME" value="technicalValue"/>
<column name="CONTAINER" value="FieldLimit"/>
<column name="KIND" value="CHAR_VALUE"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="73b3b4b3-6ba1-4551-b9dd-161079a1c755"/>
<column name="KEYID" value="DOUBLEQUOTATION"/>
<column name="TITLE" value='&quot;'/>
<column name="CONTAINER" value="FieldLimit"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3b9fb859-3dd6-49c9-8ad4-cdefac3958f9"/>
<column name="AB_KEYWORD_ENTRY_ID" value="73b3b4b3-6ba1-4551-b9dd-161079a1c755"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="38997f56-c86a-4dd3-b2ed-1fb73da604ae"/>
<column name="CHAR_VALUE" value="&quot;"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="2324a950-6767-4366-abf5-a343b7fd11f6"/>
<column name="KEYID" value="21a849d8-27ed-448e-86aa-6f4ab54d22ev"/>
<column name="TITLE" value="Tab"/>
<column name="CONTAINER" value="FieldSeparator"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="0c89fdc7-63cb-4e2b-a65a-ad77d3e58cc7"/>
<column name="KEYID" value="007a2bf2-803a-4cf0-bf69-ff649acc113v"/>
<column name="TITLE" value=";"/>
<column name="CONTAINER" value="FieldSeparator"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ATTRIBUTE">
<column name="AB_KEYWORD_ATTRIBUTEID" value="0c2203a0-6704-4400-b413-5deb876d67a5"/>
<column name="NAME" value="technicalValue"/>
<column name="CONTAINER" value="FieldSeparator"/>
<column name="KIND" value="CHAR_VALUE"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="2324a950-6767-4366-abf5-a343b7fd11f6"/>
<column name="KEYID" value="TAB"/>
<column name="TITLE" value="Tab"/>
<column name="CONTAINER" value="FieldSeparator"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b4a5cd3d-f3ea-4a0e-97d0-1429bee29edc"/>
<column name="AB_KEYWORD_ENTRY_ID" value="2324a950-6767-4366-abf5-a343b7fd11f6"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="0c2203a0-6704-4400-b413-5deb876d67a5"/>
<column name="CHAR_VALUE" value="\t"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="0c89fdc7-63cb-4e2b-a65a-ad77d3e58cc7"/>
<column name="KEYID" value="SEMICOLON"/>
<column name="TITLE" value=";"/>
<column name="CONTAINER" value="FieldSeparator"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7ab68748-27ca-4a21-a84e-aab22cdcb550"/>
<column name="AB_KEYWORD_ENTRY_ID" value="0c89fdc7-63cb-4e2b-a65a-ad77d3e58cc7"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="0c2203a0-6704-4400-b413-5deb876d67a5"/>
<column name="CHAR_VALUE" value=";"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="50b50394-6d77-4ded-a76c-1e07c08bbdcb"/>
<column name="KEYID" value="CREATED"/>
<column name="TITLE" value="Importer created"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="4c851554-2cef-4e0d-823b-bf225b084964"/>
<column name="KEYID" value="LOADED"/>
<column name="TITLE" value="Data loaded"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="3c075444-1ded-4fbd-8095-e3a71ade1f44"/>
<column name="KEYID" value="TRANSFERED"/>
<column name="TITLE" value="Data transfered"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="50b50394-6d77-4ded-a76c-1e07c08bbdcb"/>
<column name="KEYID" value="CREATED"/>
<column name="TITLE" value="Importer created"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="4c851554-2cef-4e0d-823b-bf225b084964"/>
<column name="KEYID" value="LOADED"/>
<column name="TITLE" value="Data loaded"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="3c075444-1ded-4fbd-8095-e3a71ade1f44"/>
<column name="KEYID" value="TRANSFERED"/>
<column name="TITLE" value="Data transfered"/>
<column name="CONTAINER" value="ImportStatus"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="59c5e0cb-a5e5-4bcf-81e5-cc9a37c3d533"/>
<column name="KEYID" value="dbd48449-41cd-42f8-8889-3801c17babdd"/>
<column name="TITLE" value="CRLF"/>
<column name="CONTAINER" value="RecordSeparator"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ATTRIBUTE">
<column name="AB_KEYWORD_ATTRIBUTEID" value="f14fe48f-48d8-470c-ba17-1d5c4a9c6728"/>
<column name="NAME" value="technicalValue"/>
<column name="CONTAINER" value="RecordSeparator"/>
<column name="KIND" value="CHAR_VALUE"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="59c5e0cb-a5e5-4bcf-81e5-cc9a37c3d533"/>
<column name="KEYID" value="CRLF"/>
<column name="TITLE" value="CRLF"/>
<column name="CONTAINER" value="RecordSeparator"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
<column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="e9158951-d79b-4357-b4ab-7b2456190a44"/>
<column name="AB_KEYWORD_ENTRY_ID" value="59c5e0cb-a5e5-4bcf-81e5-cc9a37c3d533"/>
<column name="AB_KEYWORD_ATTRIBUTE_ID" value="f14fe48f-48d8-470c-ba17-1d5c4a9c6728"/>
<column name="CHAR_VALUE" value="\r\n"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="81fdc4ce-b45c-4481-b9cc-77f69a46a465"/>
<column name="KEYID" value="NODUP"/>
<column name="TITLE" value="No duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="31a341e0-fce1-4efe-be3f-611166ad83be"/>
<column name="KEYID" value="PERSDUP"/>
<column name="TITLE" value="Person duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="dc700194-78c3-4a34-a196-4f0d8e19f0d5"/>
<column name="KEYID" value="ORGDUP"/>
<column name="TITLE" value="Company duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="5dd157b1-19e4-4b76-8483-b9eb53fa71eb"/>
<column name="KEYID" value="ORGPERSDUP"/>
<column name="TITLE" value="Company/Person duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="3"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
<changeSet author="f.maier" id="leadimportFmai">
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="81fdc4ce-b45c-4481-b9cc-77f69a46a465"/>
<column name="KEYID" value="NODUP"/>
<column name="TITLE" value="No duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="0"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="31a341e0-fce1-4efe-be3f-611166ad83be"/>
<column name="KEYID" value="PERSDUP"/>
<column name="TITLE" value="Person duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="dc700194-78c3-4a34-a196-4f0d8e19f0d5"/>
<column name="KEYID" value="ORGDUP"/>
<column name="TITLE" value="Company duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="5dd157b1-19e4-4b76-8483-b9eb53fa71eb"/>
<column name="KEYID" value="ORGPERSDUP"/>
<column name="TITLE" value="Company/Person duplicate"/>
<column name="CONTAINER" value="DupStatus"/>
<column name="SORTING" valueNumeric="3"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="0"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -2,7 +2,7 @@ import("system.result");
import("system.vars");
var value = vars.get("$this.value");
if (!value)
//if (!value)
{
var type = vars.get("$field.attributeType");
switch (type)
......
......@@ -2,4 +2,5 @@ import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
import("Keyword_lib");
result.string(KeywordUtils.getViewValue($KeywordRegistry.fieldSeparator(), vars.get("$field.FIELDSEPARATOR")));
\ No newline at end of file
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string($KeywordRegistry.fieldSeparator());
\ No newline at end of file
......@@ -22,15 +22,10 @@ if (binMetadatas.length > 0)
{
var binId = binMetadatas[0].id;
var fieldSep = KeywordUtils.getViewValue($KeywordRegistry.fieldSeparator(), vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = KeywordUtils.getViewValue($KeywordRegistry.fieldLimit(), vars.get("$field.FIELDDELIMITERS"));
var recordSep = KeywordUtils.getViewValue($KeywordRegistry.recordSeparator(), vars.get("$field.SENTENCESEPARATOR"));
if (recordSep == "CRLF") recordSep = '\r\n';
if ( fieldSep == "TAB" ) fieldSep = '\t';
else fieldSep = fieldSep.charAt(0);
var fieldSep = LeadImportUtils.getFieldSeparator(vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = LeadImportUtils.getFieldLimit(vars.get("$field.FIELDDELIMITERS"));
var recordSep = LeadImportUtils.getRecordSeparator(vars.get("$field.SENTENCESEPARATOR"));
var data = db.getBinaryContent(binId, SqlUtils.getBinariesAlias());
data = util.decodeBase64String(data);
......
import("Leadimport_lib");
import("system.question");
import("Employee_lib");
import("system.process");
......@@ -16,13 +17,12 @@ if (binMetadatas.length > 0)
var assignmentRowId = vars.get("$field.LEADIMPORTID");
var name = vars.get("$field.NAME");
var fieldSep = KeywordUtils.getViewValue($KeywordRegistry.fieldSeparator(), vars.get("$field.FIELDSEPARATOR"));
var recordSep = KeywordUtils.getViewValue($KeywordRegistry.recordSeparator(), vars.get("$field.SENTENCESEPARATOR"));
var fieldLimit = KeywordUtils.getViewValue($KeywordRegistry.fieldLimit(), vars.get("$field.FIELDDELIMITERS"));
var user = vars.get("$sys.user");
if (recordSep == "CRLF") recordSep = '\r\n';
if ( fieldSep == "TAB" ) fieldSep = '\t';
else fieldSep = fieldSep.charAt(0);
var fieldSep = LeadImportUtils.getFieldSeparator(vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = LeadImportUtils.getFieldLimit(vars.get("$field.FIELDDELIMITERS"));
var recordSep = LeadImportUtils.getRecordSeparator(vars.get("$field.SENTENCESEPARATOR"));
var params =
{
......
......@@ -11,10 +11,9 @@ var assignmentRowId = vars.get("$field.LEADIMPORTID");
var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.bindata"));
var filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.bindata"));
var fieldSep = KeywordUtils.getViewValue($KeywordRegistry.fieldSeparator(), vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = KeywordUtils.getViewValue($KeywordRegistry.fieldLimit(), vars.get("$field.FIELDDELIMITERS"));
var recordSep = KeywordUtils.getViewValue($KeywordRegistry.recordSeparator(), vars.get("$field.SENTENCESEPARATOR"));
var fieldSep = LeadImportUtils.getFieldSeparator(vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = LeadImportUtils.getFieldLimit(vars.get("$field.FIELDDELIMITERS"));
var recordSep = LeadImportUtils.getRecordSeparator(vars.get("$field.SENTENCESEPARATOR"));
if(bindata != '' && filename != '')
{
......
......@@ -12,9 +12,9 @@ var assignmentRowId = vars.get("$field.LEADIMPORTID");
var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.bindata"));
var filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.bindata"));
var fieldSep = KeywordUtils.getViewValue($KeywordRegistry.fieldSeparator(), vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = KeywordUtils.getViewValue($KeywordRegistry.fieldLimit(), vars.get("$field.FIELDDELIMITERS"));
var recordSep = KeywordUtils.getViewValue($KeywordRegistry.recordSeparator(), vars.get("$field.SENTENCESEPARATOR"));
var fieldSep = LeadImportUtils.getFieldSeparator(vars.get("$field.FIELDSEPARATOR"));
var fieldLimit = LeadImportUtils.getFieldLimit(vars.get("$field.FIELDDELIMITERS"));
var recordSep = LeadImportUtils.getRecordSeparator(vars.get("$field.SENTENCESEPARATOR"));
if(bindata != '' && filename != '')
{
......
......@@ -222,6 +222,7 @@ $KeywordRegistry.importStatus = function(){return "ImportStatus";};
$KeywordRegistry.importStatus$created = function(){return $KeywordRegistry._autoPad("CREATED");};
$KeywordRegistry.importStatus$loaded = function(){return $KeywordRegistry._autoPad("LOADED");};
$KeywordRegistry.importStatus$transfered = function(){return $KeywordRegistry._autoPad("TRANSFERED");};
$KeywordRegistry.fieldSeparator = function(){return "FieldSeparator";};
$KeywordRegistry.fieldLimit = function(){return "FieldLimit";};
$KeywordRegistry.recordSeparator = function(){return "RecordSeparator";};
......
import("Util_lib");
import("system.logging");
import("DuplicateScanner_lib");
import("system.datetime");
......@@ -95,10 +96,6 @@ LeadImportUtils.loadImportFile = function(pBinId, pFieldSep, pFieldLimit, pRecor
if (pBinId)
{
if (pRecordSep == "CRLF") pRecordSep = '\r\n';
if (pFieldSep == "TAB") pFieldSep = '\t';
else pFieldSep = pFieldSep.charAt(0);
try
{
var data = db.getBinaryContent(pBinId, SqlUtils.getBinariesAlias());
......@@ -876,6 +873,63 @@ LeadImportUtils.CheckDup = function( pLeadValues)
return query.array();
}
/**
* loads the technical value defined for the given field separator
*
* @param {String} pKeyId
* @return {String} the value
* @exception if no technicalValue defined for the keyword
*/
LeadImportUtils.getFieldSeparator = function(pKeyId)
{
var fieldSep = StringUtils.unescapeSlashes(KeywordUtils.getAttributeRelation(pKeyId, $KeywordRegistry.fieldSeparator(), "technicalValue", ""));
if (fieldSep === "")
{
throw new Error("errror no keyword attribute \"technicalValue\" defined for keyword " + pKeyId);
}
return fieldSep;
}
/**
* loads the technical value defined for the given field limit
*
* @param {String} pKeyId
* @return {String} the value
* @exception if no technicalValue defined for the keyword
*/
LeadImportUtils.getFieldLimit = function(pKeyId)
{
var fieldLimit = StringUtils.unescapeSlashes(KeywordUtils.getAttributeRelation(pKeyId, $KeywordRegistry.fieldLimit(), "technicalValue", ""));
if (fieldLimit === "")
{
throw new Error("errror no keyword attribute \"technicalValue\" defined for keyword " + pKeyId);
}
return fieldLimit;
}
/**
* loads the technical value defined for the given record separator
*
* @param {String} pKeyId
* @return {String} the value
* @exception if no technicalValue defined for the keyword
*/
LeadImportUtils.getRecordSeparator = function(pKeyId)
{
var recordSeparator = StringUtils.unescapeSlashes(KeywordUtils.getAttributeRelation(pKeyId, $KeywordRegistry.recordSeparator(), "technicalValue", ""));
if (recordSeparator === "")
{
throw new Error("errror no keyword attribute \"technicalValue\" defined for keyword " + pKeyId);
}
return recordSeparator;
}
/**
* a static Utility class for contact infos
*
......
import("system.logging");
import("Sql_lib");
import("system.neon");
import("system.project");
......@@ -48,6 +49,29 @@ StringUtils.pad36 = function(pValue)
return (pValue + " ").slice(0, 36);
}
/**
* Unescape all slash-escapes. (e.g. \t becames a tab \r\n becomes a newline)
* It uses JSON.parse for this.
*
* @param {String} pValue the value to be unescaped
* @return {String} the unescaped value
*/
StringUtils.unescapeSlashes = function(pValue)
{
// add another escaped slash if the string ends with an odd
// number of escaped slashes which will crash JSON.parse
let parsedStr = pValue.replace(/(^|[^\\])(\\\\)*\\$/, "$&\\");
// escape "
parsedStr = parsedStr.replace(/"/, '\\"');
try {
parsedStr = JSON.parse('"' + parsedStr + '"');
} catch(e) {
logging.log(e);
return pValue;
}
return parsedStr ;
}
/**
* Class containing static utility functions for numbers
* Do not create an instance of this
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment