RagConnect issueshttps://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues2023-05-22T13:05:32+02:00https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/59Inherited components of a type can not be chosen as port targets2023-05-22T13:05:32+02:00René SchöneInherited components of a type can not be chosen as port targetsGiven a subtype, one can not choose children defined by its supertype (or ancestor) as a port target.
For example, given the following grammar:
```
A ::= <Input:String> B;
B;
SpecialA : A ;
```
All ports in the following connect specif...Given a subtype, one can not choose children defined by its supertype (or ancestor) as a port target.
For example, given the following grammar:
```
A ::= <Input:String> B;
B;
SpecialA : A ;
```
All ports in the following connect specification are currently rejected:
```
receive SpecialA.Input;
send SpecialA.Input;
receive SpecialA.B;
send SpecialA.B;
```
_Implementation detail:_ This is due to the current resolving of components of a `TypeDecl` which only considers `getComponentList()`, i.e., the children directly defined for the subtype.René SchöneRené Schönehttps://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/58"error: variable handler is already defined" when using multiple protocols2023-01-25T15:50:02+01:00René Schöne"error: variable handler is already defined" when using multiple protocolsArguments:
```
'--logReads',
'--logWrites',
'--rootNode=Root',
'--experimental-jastadd-329',
'--incremental=param',
'--tracing=cache,flush',
'--List=JastAddList',
'--protoco...Arguments:
```
'--logReads',
'--logWrites',
'--rootNode=Root',
'--experimental-jastadd-329',
'--incremental=param',
'--tracing=cache,flush',
'--List=JastAddList',
'--protocols=mqtt,java'
```
Error:
```
error: variable handler is already defined in method connectGetStateAsString(String,boolean)
final MqttHandler handler = _ragconnect_mqttHandler().resolveHandler(uri);
^
```https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/27Parsing fails if no trailing newline2021-06-03T12:13:20+02:00René SchöneParsing fails if no trailing newlineParsing of the last definition fails, if there is no newline at the end.Parsing of the last definition fails, if there is no newline at the end.https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/24Setter of nonterminal does not work anymore when attribute of connection endp...2021-05-07T17:10:21+02:00René SchöneSetter of nonterminal does not work anymore when attribute of connection endpoint depends on it*Given*
a grammar (where the calculation of `B` depends on value of `A`)
```
Root ::= A /B/ ;
A ::= ;
B ::= ;
```
and a connection specification (the receiving end may not even be necessary)
```
receive tree Root.A ;
send tree Root.B ...*Given*
a grammar (where the calculation of `B` depends on value of `A`)
```
Root ::= A /B/ ;
A ::= ;
B ::= ;
```
and a connection specification (the receiving end may not even be necessary)
```
receive tree Root.A ;
send tree Root.B ;
```
*When*
Setting a new value for A (triggering an update of B)
*Then*
A does not get updated.
Only after the second change, the update can be seen.René SchöneRené Schönehttps://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/23Handle OptComponents as connection endpoints2021-06-03T12:13:16+02:00René SchöneHandle OptComponents as connection endpointsIf an OptComponent is used as connection endpoint, and it is not set when an update message arrives, a NullPointerException arises.
This is because the test `getX() != null` tries to directly access the child, which is not there.
Better...If an OptComponent is used as connection endpoint, and it is not set when an update message arrives, a NullPointerException arises.
This is because the test `getX() != null` tries to directly access the child, which is not there.
Better use `hasX()` instead.René SchöneRené Schönehttps://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/22Check input for URI format upon calling a connect method2021-06-03T12:13:22+02:00René SchöneCheck input for URI format upon calling a connect methodCurrently, a call to some connect method using a malformed/incomplete `uriString` can result in a `NullPointerException` later, because `scheme` is `null`.
An error should be thrown earlier and with a more helpful message.Currently, a call to some connect method using a malformed/incomplete `uriString` can result in a `NullPointerException` later, because `scheme` is `null`.
An error should be thrown earlier and with a more helpful message.https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/19DependencyDefintion only applicable to TokenComponents2021-06-03T12:13:10+02:00René SchöneDependencyDefintion only applicable to TokenComponentsCurrently, the DependencyDefinition is defined as
```
DependencyDefinition ::= <ID>;
rel DependencyDefinition.Source <-> TokenComponent.DependencySourceDefinition*;
rel DependencyDefinition.Target -> TokenComponent;
```
For types to wo...Currently, the DependencyDefinition is defined as
```
DependencyDefinition ::= <ID>;
rel DependencyDefinition.Source <-> TokenComponent.DependencySourceDefinition*;
rel DependencyDefinition.Target -> TokenComponent;
```
For types to work, at least the target has to not only be TokenComponent, but also a TypeComponent.René SchöneRené Schönehttps://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/17Missing default mapping for boolean2021-06-03T11:02:56+02:00René SchöneMissing default mapping for boolean- [x] add default from byte[] to boolean, and boolean to byte[]
- [x] add those mapping to case of effectiveMappings
- [x] add testcase for defaultOnlyReadTest and defaultOnlyWriteTest
.
- [x] also fix error for calling `treeResolveAll...- [x] add default from byte[] to boolean, and boolean to byte[]
- [x] add those mapping to case of effectiveMappings
- [x] add testcase for defaultOnlyReadTest and defaultOnlyWriteTest
.
- [x] also fix error for calling `treeResolveAll` on grammar file in compilerRené SchöneRené Schöne