Skip to content

Commit 743c440

Browse files
committed
Finish v0.17.4
2 parents c49d836 + a4e5135 commit 743c440

4 files changed

Lines changed: 4621 additions & 26 deletions

File tree

build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ plugins {
77
jacoco
88
id("cloud.rio.license") version "0.18.0"
99
id("me.qoomon.git-versioning") version "6.4.4"
10-
id("io.freefair.lombok") version "9.1.0"
11-
id("io.freefair.javadoc-links") version "9.1.0"
12-
id("io.freefair.javadoc-utf-8") version "9.1.0"
10+
id("io.freefair.lombok") version "9.2.0"
11+
id("io.freefair.javadoc-links") version "9.2.0"
12+
id("io.freefair.javadoc-utf-8") version "9.2.0"
1313
// id("io.freefair.maven-central.validate-poms") version "9.1.0" не работает на 9 градле
1414
id("com.github.ben-manes.versions") version "0.53.0"
1515
id("ru.vyarus.pom") version "3.0.0"

src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
import com.github._1c_syntax.bsl.reader.common.xstream.ReadConverter;
2828
import com.thoughtworks.xstream.converters.UnmarshallingContext;
2929
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
30-
31-
import java.util.Objects;
30+
import lombok.extern.slf4j.Slf4j;
3231

3332
/**
3433
* Используется для преобразования содержимого пакета XDTO
3534
*/
35+
@Slf4j
3636
@CommonConverter
3737
public class RoleDataConverter implements ReadConverter {
3838

@@ -54,15 +54,15 @@ public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext co
5454
if (OBJECT_NODE_NAME.equals(name)) {
5555
var objectRight = readObjectRight(reader, context);
5656
builder.objectRight(objectRight);
57-
} else if (RESTRICTION_TEMPLATE_NODE_NAME.equals(name)) {
58-
// пропускаем
59-
reader.moveUp();
60-
continue;
61-
} else {
57+
} else if (!RESTRICTION_TEMPLATE_NODE_NAME.equals(name)) { // рестрикций пока нет
6258
var fieldClass = (Class<?>) TransformationUtils.fieldType(builder, name);
63-
Objects.requireNonNull(fieldClass, "Field type not found for: " + name);
64-
var value = ExtendXStream.readValue(context, fieldClass);
65-
TransformationUtils.setValue(builder, name, value);
59+
if (fieldClass != null) {
60+
var value = ExtendXStream.readValue(context, fieldClass);
61+
TransformationUtils.setValue(builder, name, value);
62+
} else {
63+
// пропустим без падения и будем надеяться, что о ворнинге кто-то скажет
64+
LOGGER.warn("Field type not found for {}", name);
65+
}
6666
}
6767

6868
reader.moveUp();
@@ -81,11 +81,10 @@ private static RoleData.ObjectRight readObjectRight(HierarchicalStreamReader rea
8181
builder.right(right);
8282
} else {
8383
var fieldClass = (Class<?>) TransformationUtils.fieldType(builder, name);
84-
if (fieldClass == null) {
85-
continue;
84+
if (fieldClass != null) {
85+
var value = ExtendXStream.readValue(context, fieldClass);
86+
TransformationUtils.setValue(builder, name, value);
8687
}
87-
var value = ExtendXStream.readValue(context, fieldClass);
88-
TransformationUtils.setValue(builder, name, value);
8988
}
9089

9190
reader.moveUp();
@@ -100,11 +99,10 @@ private static RoleData.Right readRight(HierarchicalStreamReader reader, Unmarsh
10099
reader.moveDown();
101100
var name = reader.getNodeName();
102101
var fieldClass = (Class<?>) TransformationUtils.fieldType(builder, name);
103-
if (fieldClass == null) {
104-
continue;
102+
if (fieldClass != null) {
103+
var value = ExtendXStream.readValue(context, fieldClass);
104+
TransformationUtils.setValue(builder, name, value);
105105
}
106-
var value = ExtendXStream.readValue(context, fieldClass);
107-
TransformationUtils.setValue(builder, name, value);
108106
reader.moveUp();
109107
}
110108

src/test/java/com/github/_1c_syntax/bsl/mdclasses/helpers/RightsTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void rightAccessCf() {
5757
mdv = cf.findChild("Task.ЗадачаИсполнителя.Command.Перенаправить");
5858
assertThat(mdv).isPresent();
5959
md = mdv.get();
60-
assertThat(Rights.rightAccess(cf, RoleRight.VIEW, md)).isFalse();
60+
assertThat(Rights.rightAccess(cf, RoleRight.VIEW, md)).isTrue();
6161
assertThat(Rights.rightAccess(cf, RoleRight.USE, md)).isFalse();
6262
assertThat(cf.rightAccess(RoleRight.START, md)).isFalse();
6363

@@ -105,21 +105,21 @@ void rolesAccessCf() {
105105
.anyMatch(role -> role.getName().equals("ЗапускТолстогоКлиента"));
106106

107107
assertThat(Rights.rolesAccess(cf, RoleRight.ALL_FUNCTIONS_MODE)).isEmpty();
108-
assertThat(cf.rolesAccess(RoleRight.ANALYTICS_SYSTEM_CLIENT)).hasSize(78);
108+
assertThat(cf.rolesAccess(RoleRight.ANALYTICS_SYSTEM_CLIENT)).hasSize(103);
109109

110110
var mdv = cf.findChild("Document.Анкета");
111111
assertThat(mdv).isPresent();
112112
var md = mdv.get();
113113
assertThat(Rights.rolesAccess(cf, RoleRight.DELETE, md)).hasSize(1);
114114
assertThat(Rights.rolesAccess(cf, RoleRight.INTERACTIVE_DELETE, md)).isEmpty();
115-
assertThat(Rights.rolesAccess(cf, RoleRight.VIEW, md)).hasSize(1);
115+
assertThat(Rights.rolesAccess(cf, RoleRight.VIEW, md)).hasSize(2);
116116
assertThat(Rights.rolesAccess(cf, RoleRight.USE, md)).isEmpty();
117117
assertThat(cf.rolesAccess(RoleRight.INTERACTIVE_DELETE_MARKED, md)).isEmpty();
118118

119119
mdv = cf.findChild("Task.ЗадачаИсполнителя.Command.Перенаправить");
120120
assertThat(mdv).isPresent();
121121
md = mdv.get();
122-
assertThat(Rights.rolesAccess(cf, RoleRight.VIEW, md)).isEmpty();
122+
assertThat(Rights.rolesAccess(cf, RoleRight.VIEW, md)).hasSize(4);
123123
assertThat(Rights.rolesAccess(cf, RoleRight.USE, md)).isEmpty();
124124
assertThat(cf.rolesAccess(RoleRight.DELETE, md)).isEmpty();
125125

0 commit comments

Comments
 (0)