Elytrium / Elytrium/java-serializer
Invalid serialization if single double quotation mark is present
- Dominant language
- Java
- Stars
- 27
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
If you insert only one double quotation mark in the field like this:
```yaml
test-section:
# Some description for this test value1
value-test: "
# Some description for this test value2
value-test-2: "test2"
```
The result of the serialization will be as follows:
```yaml
test-section:
# Some description for this test value1
value-test: " # Some description for this test value2 value-test-2: "
# Some description for this test value2
value-test-2: "test2"
```
It looks like reader keeps looking for the next double quote even when the next field starts.
Configuration used:
```java
public class TestSettings extends YamlSerializable {
@Transient
private static final SerializerConfig CONFIG = new SerializerConfig.Builder()
.setCommentValueIndent(1)
.build();
@Transient
public static final TestSettings IMP = new TestSettings();
public TestSettings() {
super(CONFIG);
}
public TEST_SECTION TEST_SECTION = new TEST_SECTION();
public static class TEST_SECTION {
@Comment(value = {
@CommentValue("Some description for this test value1"),
}, at = Comment.At.PREPEND)
public String VALUE_TEST = "test1";
@Comment(value = {
@CommentValue("Some description for this test value2"),
}, at = Comment.At.PREPEND)
public String VALUE_TEST2 = "test2";
}
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the YAML serialization shown in the issue with the provided Java TestSettings configuration, focusing on how a lone double quotation mark is read across the next field. Done means the following field remains separate and the serialized output preserves both values and comments instead of consuming the next key.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100