File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed
src/main/java/com/github/_1c_syntax/bsl/reader Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change 2222package com .github ._1c_syntax .bsl .reader .designer .converter ;
2323
2424import com .github ._1c_syntax .bsl .mdo .XDTOPackage ;
25+ import com .github ._1c_syntax .bsl .mdo .storage .XdtoPackageData ;
2526import com .github ._1c_syntax .bsl .reader .common .converter .AbstractReadConverter ;
2627import com .github ._1c_syntax .bsl .reader .common .xstream .ExtendXStream ;
2728import com .thoughtworks .xstream .converters .UnmarshallingContext ;
@@ -38,8 +39,16 @@ public class XDTOPackageConverter extends AbstractReadConverter {
3839 @ Override
3940 public Object unmarshal (HierarchicalStreamReader reader , UnmarshallingContext context ) {
4041 var readerContext = super .read (reader , context );
41- readerContext .setValue (DATA_FIELD ,
42- ExtendXStream .read (reader , dataPath (readerContext .getCurrentPath (), readerContext .getName ())));
42+ XdtoPackageData data ;
43+ try {
44+ data = (XdtoPackageData ) ExtendXStream .read (reader ,
45+ dataPath (readerContext .getCurrentPath (), readerContext .getName ()));
46+ } catch (Exception e ) {
47+ // ничего не делаем, считаем файл битым
48+ data = XdtoPackageData .EMPTY ;
49+ }
50+
51+ readerContext .setValue (DATA_FIELD , data );
4352 return readerContext .build ();
4453 }
4554
Original file line number Diff line number Diff line change 2222package com .github ._1c_syntax .bsl .reader .edt .converter ;
2323
2424import com .github ._1c_syntax .bsl .mdo .XDTOPackage ;
25+ import com .github ._1c_syntax .bsl .mdo .storage .XdtoPackageData ;
2526import com .github ._1c_syntax .bsl .reader .common .converter .AbstractReadConverter ;
2627import com .github ._1c_syntax .bsl .reader .common .xstream .ExtendXStream ;
2728import com .thoughtworks .xstream .converters .UnmarshallingContext ;
@@ -37,7 +38,15 @@ public class XDTOPackageConverter extends AbstractReadConverter {
3738 @ Override
3839 public Object unmarshal (HierarchicalStreamReader reader , UnmarshallingContext context ) {
3940 var readerContext = super .read (reader , context );
40- readerContext .setValue (DATA_FIELD , ExtendXStream .read (reader , dataPath (readerContext .getCurrentPath ())));
41+ XdtoPackageData data ;
42+ try {
43+ data = (XdtoPackageData ) ExtendXStream .read (reader , dataPath (readerContext .getCurrentPath ()));
44+ } catch (Exception e ) {
45+ // ничего не делаем, считаем файл битым
46+ data = XdtoPackageData .EMPTY ;
47+ }
48+
49+ readerContext .setValue (DATA_FIELD , data );
4150 return readerContext .build ();
4251 }
4352
You can’t perform that action at this time.
0 commit comments