Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translations: Check that there are no similar identifiers (TEDEFO-2851) #47

Merged
merged 2 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ public String getId() {
return label.getId();
}

public String getNormalizedId() {
String id = label.getId();
return id.trim().toLowerCase().replaceAll("[-_\\.]", "");
bertrand-lorentz marked this conversation as resolved.
Show resolved Hide resolved
}

@Override
public String getTypeName() {
return "label";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package eu.europa.ted.eforms.sdk.analysis.drools;

unit SdkUnit;

rule "There are no labels with similar identifiers"
when
/labels[ $l: this, $id: id, $normalizedId: normalizedId ];
/labels[ $otherId: id, $otherId < $id, normalizedId == $normalizedId ]
then
results.add(new ValidationResult($l, "Identifier is similar to " + $otherId, ValidationStatusEnum.ERROR));
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>auxiliary in Bulgarian. File generated from metadata database version 1.5.0 created on the 2022-12-14T11:00</comment>
<entry key="auxiliary|text|BT-01">Правно основание</entry>
<entry key="auxiliary|text|BT_01">Правно основание</entry>
<entry key="auxiliary|text|BT-08">Роля на организацията</entry>
</properties>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>field in Bulgarian. File generated from metadata database.</comment>
<entry key="field|description|BT-01(c)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(c)-Procedure-Scheme">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(d)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(d)-Procedure-Language">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(e)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(f)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(f)-Procedure-Language">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01-notice">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-02-notice">Видът на обявлението според законодателството за обществените поръчки.</entry>
<entry key="field|description|BT-02-Notice">Видът на формуляра според законодателството за обществените поръчки.</entry>
<entry key="field|description|BT-04-notice">Европейският идентификатор на процедурите за възлагане на обществени поръчки – единен идентификатор на процедурата за възлагане. Чрез включването на този идентификатор във всички публикувани версии на настоящото обявление (напр. публикувани в TED, национални портали за публикуване, регионални портали за публикуване) се осигурява еднозначно идентифициране на процедурите за възлагане в целия Съюз.</entry>
</properties>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"files" : [ {
"assetType" : "field",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul",
"filename" : "field_bg.xml"
}, {
"assetType" : "auxiliary",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul",
"filename" : "auxiliary_bg.xml"
} ],
"languages" : [ {
"description" : "Bulgarian",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul"
} ]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>auxiliary in Bulgarian. File generated from metadata database version 1.5.0 created on the 2022-12-14T11:00</comment>
<entry key="auxiliary|text|BT-01">Правно основание</entry>
<entry key="auxiliary|text|BT-08">Роля на организацията</entry>
</properties>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>field in Bulgarian. File generated from metadata database.</comment>
<entry key="field|description|BT-01(c)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(c)-Procedure-Scheme">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(d)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(d)-Procedure-Language">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(e)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(f)-Procedure">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01(f)-Procedure-Language">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-01-notice">Правното основание (напр. съюзен или национален нормативен акт), на което се провежда процедурата за възлагане или – при обявленията за предварителна информация – на което ще се проведе процедурата (процедурите) за възлагане.</entry>
<entry key="field|description|BT-02-notice">Видът на обявлението според законодателството за обществените поръчки.</entry>
<entry key="field|description|BT-03-notice">Видът на формуляра според законодателството за обществените поръчки.</entry>
<entry key="field|description|BT-04-notice">Европейският идентификатор на процедурите за възлагане на обществени поръчки – единен идентификатор на процедурата за възлагане. Чрез включването на този идентификатор във всички публикувани версии на настоящото обявление (напр. публикувани в TED, национални портали за публикуване, регионални портали за публикуване) се осигурява еднозначно идентифициране на процедурите за възлагане в целия Съюз.</entry>
</properties>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"files" : [ {
"assetType" : "field",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul",
"filename" : "field_bg.xml"
}, {
"assetType" : "auxiliary",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul",
"filename" : "auxiliary_bg.xml"
} ],
"languages" : [ {
"description" : "Bulgarian",
"twoLetterCode" : "bg",
"threeLetterCode" : "bul"
} ]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@tedefo-2851
Feature: Translation - Check label identifiers
TEDEFO-2851: Check for duplicate label identifiers.
Test files under under "src/test/resources/eforms-sdk-tests/tedefo-2851"

Background:
Given The following rules
| There are no labels with similar identifiers |

Scenario: There are no labels with similar identifiers
Given A "tedefo-2851" folder with "valid" files
When I load all labels
And I execute validation
Then I should get 0 SDK validation errors

Scenario Outline: Some label identifiers are similar
Given A "tedefo-2851" folder with "invalid" files
When I load all labels
And I execute validation
Then Rule "<expected rule>" should have been fired
Then I should get 2 SDK validation errors

Examples:
| expected rule |
| There are no labels with similar identifiers |