Skip to content

Commit 280e7d0

Browse files
authored
Merge pull request #464 from 1c-syntax/feature/108
Добавлено русское имя для прав доступа
2 parents f44025f + 1910084 commit 280e7d0

File tree

2 files changed

+128
-71
lines changed

2 files changed

+128
-71
lines changed

src/main/java/com/github/_1c_syntax/bsl/mdo/support/RoleRight.java

Lines changed: 125 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -25,89 +25,143 @@
2525
import lombok.Getter;
2626
import lombok.experimental.Accessors;
2727

28+
import java.util.Map;
29+
import java.util.concurrent.ConcurrentSkipListMap;
30+
2831
/**
2932
* Возможные права роли
3033
*/
3134
@AllArgsConstructor
3235
@Getter
3336
public enum RoleRight implements EnumWithValue {
34-
VIEW("View"),
35-
EDIT("Edit"),
36-
GET("Get"),
37-
READ("Read"),
38-
SET("Set"),
39-
INPUT_BY_STRING("InputByString"),
40-
UPDATE("Update"),
41-
USE("Use"),
42-
INSERT("Insert"),
43-
MAIN_WINDOW_MODE_NORMAL("MainWindowModeNormal"),
44-
MAIN_WINDOW_MODE_WORKPLACE("MainWindowModeWorkplace"),
45-
MAIN_WINDOW_MODE_EMBEDDED_WORKPLACE("MainWindowModeEmbeddedWorkplace"),
46-
MAIN_WINDOW_MODE_FULLSCREEN_WORKPLACE("MainWindowModeFullscreenWorkplace"),
47-
MAIN_WINDOW_MODE_KIOSK("MainWindowModeKiosk"),
48-
ANALYTICS_SYSTEM_CLIENT("AnalyticsSystemClient"),
49-
ADMINISTRATION("Administration"),
50-
DATA_ADMINISTRATION("DataAdministration"),
51-
UPDATE_DATA_BASE_CONFIGURATION("UpdateDataBaseConfiguration"),
52-
EXCLUSIVE_MODE("ExclusiveMode"),
53-
ACTIVE_USERS("ActiveUsers"),
54-
EVENT_LOG("EventLog"),
55-
THIN_CLIENT("ThinClient"),
56-
WEB_CLIENT("WebClient"),
57-
THICK_CLIENT("ThickClient"),
58-
EXTERNAL_CONNECTION("ExternalConnection"),
59-
AUTOMATION("Automation"),
60-
ALL_FUNCTIONS_MODE("AllFunctionsMode"),
61-
COLLABORATION_SYSTEM_INFO_BASE_REGISTRATION("CollaborationSystemInfoBaseRegistration"),
62-
SAVE_USER_DATA("SaveUserData"),
63-
CONFIGURATION_EXTENSIONS_ADMINISTRATION("ConfigurationExtensionsAdministration"),
64-
INTERACTIVE_OPEN_EXT_DATA_PROCESSORS("InteractiveOpenExtDataProcessors"),
65-
INTERACTIVE_OPEN_EXT_REPORTS("InteractiveOpenExtReports"),
66-
OUTPUT("Output"),
67-
DELETE("Delete"),
68-
POSTING("Posting"),
69-
UNDO_POSTING("UndoPosting"),
70-
INTERACTIVE_INSERT("InteractiveInsert"),
71-
INTERACTIVE_DELETE("InteractiveDelete"),
72-
INTERACTIVE_SET_DELETION_MARK("InteractiveSetDeletionMark"),
73-
INTERACTIVE_CLEAR_DELETION_MARK("InteractiveClearDeletionMark"),
74-
INTERACTIVE_DELETE_MARKED("InteractiveDeleteMarked"),
75-
INTERACTIVE_POSTING("InteractivePosting"),
76-
INTERACTIVE_POSTING_REGULAR("InteractivePostingRegular"),
77-
INTERACTIVE_UNDO_POSTING("InteractiveUndoPosting"),
78-
INTERACTIVE_CHANGE_OF_POSTED("InteractiveChangeOfPosted"),
79-
INTERACTIVE_DELETE_PREDEFINED_DATA("InteractiveDeletePredefinedData"),
80-
INTERACTIVE_SET_DELETION_MARK_PREDEFINED_DATA("InteractiveSetDeletionMarkPredefinedData"),
81-
INTERACTIVE_CLEAR_DELETION_MARK_PREDEFINED_DATA("InteractiveClearDeletionMarkPredefinedData"),
82-
INTERACTIVE_DELETE_MARKED_PREDEFINED_DATA("InteractiveDeleteMarkedPredefinedData"),
83-
EXECUTE("Execute"),
84-
READ_DATA_HISTORY("ReadDataHistory"),
85-
READ_DATA_HISTORY_OF_MISSING_DATA("ReadDataHistoryOfMissingData"),
86-
UPDATE_DATA_HISTORY("UpdateDataHistory"),
87-
UPDATE_DATA_HISTORY_OF_MISSING_DATA("UpdateDataHistoryOfMissingData"),
88-
UPDATE_DATA_HISTORY_SETTINGS("UpdateDataHistorySettings"),
89-
UPDATE_DATA_HISTORY_VERSION_COMMENT("UpdateDataHistoryVersionComment"),
90-
VIEW_DATA_HISTORY("ViewDataHistory"),
91-
EDIT_DATA_HISTORY_VERSION_COMMENT("EditDataHistoryVersionComment"),
92-
SWITCH_TO_DATA_HISTORY_VERSION("SwitchToDataHistoryVersion"),
93-
TOTALS_CONTROL("TotalsControl"),
94-
MOBILE_CLIENT("MobileClient"),
95-
INTERACTIVE_ACTIVATE("InteractiveActivate"),
96-
INTERACTIVE_EXECUTE("InteractiveExecute"),
97-
TECHNICAL_SPECIALIST_MODE("TechnicalSpecialistMode"),
98-
INTERACTIVE_START("InteractiveStart"),
99-
START("Start"),
100-
STANDARD_AUTHENTICATION_CHANGE("StandardAuthenticationChange"),
101-
SESSION_STANDARD_AUTHENTICATION_CHANGE("SessionStandardAuthenticationChange"),
102-
SESSION_OS_AUTHENTICATION_CHANGE("SessionOSAuthenticationChange"),
103-
EXCLUSIVE_MODE_TERMINATION_AT_SESSION_START("ExclusiveModeTerminationAtSessionStart"),
104-
UNKNOWN("unknown") {
37+
READ("Read", "Чтение"),
38+
INSERT("Insert", "Добавление"),
39+
UPDATE("Update", "Изменение"),
40+
DELETE("Delete", "Удаление"),
41+
POSTING("Posting", "Проведение"),
42+
UNDO_POSTING("UndoPosting", "ОтменаПроведения"),
43+
VIEW("View", "Просмотр"),
44+
INTERACTIVE_INSERT("InteractiveInsert", "ИнтерактивноеДобавление"),
45+
EDIT("Edit", "Редактирование"),
46+
INTERACTIVE_DELETE("InteractiveDelete", "ИнтерактивноеУдаление"),
47+
INTERACTIVE_SET_DELETION_MARK("InteractiveSetDeletionMark", "ИнтерактивнаяПометкаУдаления"),
48+
INTERACTIVE_CLEAR_DELETION_MARK("InteractiveClearDeletionMark", "ИнтерактивноеСнятиеПометкиУдаления"),
49+
INTERACTIVE_DELETE_MARKED("InteractiveDeleteMarked", "ИнтерактивноеУдалениеПомеченных"),
50+
INTERACTIVE_POSTING("InteractivePosting", "ИнтерактивноеПроведение"),
51+
INTERACTIVE_POSTING_REGULAR("InteractivePostingRegular", "ИнтерактивноеПроведениеНеОперативное"),
52+
INTERACTIVE_UNDO_POSTING("InteractiveUndoPosting", "ИнтерактивнаяОтменаПроведения"),
53+
INTERACTIVE_CHANGE_OF_POSTED("InteractiveChangeOfPosted", "ИнтерактивноеИзменениеПроведенных"),
54+
INPUT_BY_STRING("InputByString", "ВводПоСтроке"),
55+
TOTALS_CONTROL("TotalsControl", "УправлениеИтогами"),
56+
USE("Use", "Использование"),
57+
ADMINISTRATION("Administration", "Администрирование"),
58+
DATA_ADMINISTRATION("DataAdministration", "АдминистрированиеДанных"),
59+
EXCLUSIVE_MODE("ExclusiveMode", "МонопольныйРежим"),
60+
ACTIVE_USERS("ActiveUsers", "АктивныеПользователи"),
61+
EVENT_LOG("EventLog", "ЖурналРегистрации"),
62+
EXTERNAL_CONNECTION("ExternalConnection", "ВнешнееСоединение"),
63+
AUTOMATION("Automation", "Automation"),
64+
INTERACTIVE_OPEN_EXT_DATA_PROCESSORS("InteractiveOpenExtDataProcessors", "ИнтерактивноеОткрытиеВнешнихОбработок"),
65+
INTERACTIVE_OPEN_EXT_REPORTS("InteractiveOpenExtReports", "ИнтерактивноеОткрытиеВнешнихОтчетов"),
66+
GET("Get", "Получение"),
67+
SET("Set", "Установка"),
68+
INTERACTIVE_ACTIVATE("InteractiveActivate", "ИнтерактивнаяАктивация"),
69+
START("Start", "Старт"),
70+
INTERACTIVE_START("InteractiveStart", "ИнтерактивныйСтарт"),
71+
EXECUTE("Execute", "Выполнение"),
72+
INTERACTIVE_EXECUTE("InteractiveExecute", "ИнтерактивноеВыполнение"),
73+
OUTPUT("Output", "Вывод"),
74+
UPDATE_DATA_BASE_CONFIGURATION("UpdateDataBaseConfiguration", "ОбновлениеКонфигурацииБазыДанных"),
75+
THIN_CLIENT("ThinClient", "ТонкийКлиент"),
76+
WEB_CLIENT("WebClient", "ВебКлиент"),
77+
THICK_CLIENT("ThickClient", "ТолстыйКлиент"),
78+
ALL_FUNCTIONS_MODE("AllFunctionsMode", "РежимВсеФункции"),
79+
SAVE_USER_DATA("SaveUserData", "СохранениеДанныхПользователя"),
80+
STANDARD_AUTHENTICATION_CHANGE("StandardAuthenticationChange", "ИзменениеСтандартнойАутентификации"),
81+
SESSION_STANDARD_AUTHENTICATION_CHANGE("SessionStandardAuthenticationChange",
82+
"ИзменениеСтандартнойАутентификацииСеанса"),
83+
SESSION_OS_AUTHENTICATION_CHANGE("SessionOSAuthenticationChange", "ИзменениеАутентификацииОССеанса"),
84+
INTERACTIVE_DELETE_PREDEFINED_DATA("InteractiveDeletePredefinedData",
85+
"ИнтерактивноеУдалениеПредопределенныхДанных"),
86+
INTERACTIVE_SET_DELETION_MARK_PREDEFINED_DATA("InteractiveSetDeletionMarkPredefinedData",
87+
"ИнтерактивнаяПометкаУдаленияПредопределенныхДанных"),
88+
INTERACTIVE_CLEAR_DELETION_MARK_PREDEFINED_DATA("InteractiveClearDeletionMarkPredefinedData",
89+
"ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных"),
90+
INTERACTIVE_DELETE_MARKED_PREDEFINED_DATA("InteractiveDeleteMarkedPredefinedData",
91+
"ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных"),
92+
CONFIGURATION_EXTENSIONS_ADMINISTRATION("ConfigurationExtensionsAdministration",
93+
"АдминистрированиеРасширенийКонфигурации"),
94+
READ_DATA_HISTORY("ReadDataHistory", "ЧтениеИсторииДанных"),
95+
VIEW_DATA_HISTORY("ViewDataHistory", "ПросмотрИсторииДанных"),
96+
READ_DATA_HISTORY_OF_MISSING_DATA("ReadDataHistoryOfMissingData",
97+
"ЧтениеИсторииДанныхОтсутстсвующихДанных"),
98+
UPDATE_DATA_HISTORY("UpdateDataHistory", "ИзменениеИсторииДанных"),
99+
UPDATE_DATA_HISTORY_OF_MISSING_DATA("UpdateDataHistoryOfMissingData",
100+
"ИзменениеИсторииДанныхОтсутствующихДанных"),
101+
UPDATE_DATA_HISTORY_SETTINGS("UpdateDataHistorySettings", "ИзменениеНастроекИсторииДанных"),
102+
UPDATE_DATA_HISTORY_VERSION_COMMENT("UpdateDataHistoryVersionComment",
103+
"ИзменениеКомментарияВерсииИсторииДанных"),
104+
EDIT_DATA_HISTORY_VERSION_COMMENT("EditDataHistoryVersionComment",
105+
"РедактированиеКомментарияВерсииИсторииДанных"),
106+
SWITCH_TO_DATA_HISTORY_VERSION("SwitchToDataHistoryVersion", "ПереходНаВерсиюИсторииДанных"),
107+
COLLABORATION_SYSTEM_INFO_BASE_REGISTRATION("CollaborationSystemInfoBaseRegistration",
108+
"РегистрацияИнформационнойБазыСистемыВзаимодействия"),
109+
MOBILE_CLIENT("MobileClient", "МобильныйКлиент"),
110+
MAIN_WINDOW_MODE_NORMAL("MainWindowModeNormal", "РежимОсновногоОкнаОбычный"),
111+
MAIN_WINDOW_MODE_WORKPLACE("MainWindowModeWorkplace", "РежимОсновногоОкнаРабочееМесто"),
112+
MAIN_WINDOW_MODE_EMBEDDED_WORKPLACE("MainWindowModeEmbeddedWorkplace",
113+
"РежимОсновногоОкнаВстроенноеРабочееМесто"),
114+
MAIN_WINDOW_MODE_FULLSCREEN_WORKPLACE("MainWindowModeFullscreenWorkplace",
115+
"РежимОсновногоОкнаПолноэкранноеРабочееМесто"),
116+
MAIN_WINDOW_MODE_KIOSK("MainWindowModeKiosk", "РежимОсновногоОкнаКиоск"),
117+
TECHNICAL_SPECIALIST_MODE("TechnicalSpecialistMode", "РежимТехническогоСпециалиста"),
118+
EXCLUSIVE_MODE_TERMINATION_AT_SESSION_START("ExclusiveModeTerminationAtSessionStart",
119+
"ЗавершениеМонопольногоРежимаПриНачалеСеанса"),
120+
ANALYTICS_SYSTEM_CLIENT("AnalyticsSystemClient", "КлиентСистемыАналитики"),
121+
REMOTE_DESKTOP_HOST("RemoteDesktopHost",
122+
"ПредоставлениеУдаленногоУправленияРабочимСтоломДругомуПользователю"),
123+
REMOTE_DESKTOP_CLIENT("RemoteDesktopClient",
124+
"УдаленноеУправлениеРабочимСтоломДругогоПользователя"),
125+
UNKNOWN("unknown", "unknown") {
105126
@Override
106127
public boolean isUnknown() {
107128
return true;
108129
}
109130
};
110131

132+
private static final Map<String, RoleRight> keys = computeKeys();
133+
134+
/**
135+
* Английское имя
136+
*/
111137
@Accessors(fluent = true)
112138
private final String value;
139+
140+
/**
141+
* Русское имя
142+
*/
143+
@Accessors(fluent = true)
144+
private final String valueRu;
145+
146+
/**
147+
* Ищет элемент перечисления по имени (рус, анг)
148+
*
149+
* @param string Имя искомого элемента
150+
* @return Найденное значение, если не найден - то unknown
151+
*/
152+
public static RoleRight valueByString(String string) {
153+
return keys.getOrDefault(string, UNKNOWN);
154+
}
155+
156+
private static Map<String, RoleRight> computeKeys() {
157+
Map<String, RoleRight> keysMap = new ConcurrentSkipListMap<>(String.CASE_INSENSITIVE_ORDER);
158+
for (var element : values()) {
159+
if (element.isUnknown()) {
160+
continue;
161+
}
162+
keysMap.put(element.value(), element);
163+
keysMap.put(element.valueRu(), element);
164+
}
165+
return keysMap;
166+
}
113167
}

src/main/java/com/github/_1c_syntax/bsl/mdo/support/ScriptVariant.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ public static ScriptVariant valueByString(String string) {
7676
private static Map<String, ScriptVariant> computeKeys() {
7777
Map<String, ScriptVariant> keysMap = new ConcurrentSkipListMap<>(String.CASE_INSENSITIVE_ORDER);
7878
for (var element : values()) {
79+
if (element.isUnknown()) {
80+
continue;
81+
}
7982
keysMap.put(element.value(), element);
8083
keysMap.put(element.valueRu(), element);
8184
keysMap.put(element.shortName(), element);

0 commit comments

Comments
 (0)