Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
TDL Open Source
TOP IDE
Compare revisions
750bd1baad5ef2eab22ac7b2f5be7159acfdd2f4...612bf17e771f8861e6f6dea8a4bf605d9e97aa5e
Commits (3)
+ extended cleanup of names
· 72ba06a9
Philip Makedonski
authored
Mar 21, 2023
72ba06a9
+ fix scope resolution for structured data instance mappings
· fd7b9cf1
Philip Makedonski
authored
Mar 21, 2023
fd7b9cf1
+ added custom qualified name converter
· 612bf17e
Philip Makedonski
authored
Mar 21, 2023
612bf17e
Hide whitespace changes
Inline
Side-by-side
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLQualifiedNameConverter.java
0 → 100644
View file @
612bf17e
package
org.etsi.mts.tdl.scoping
;
import
org.eclipse.xtext.naming.IQualifiedNameConverter
;
import
org.eclipse.xtext.naming.QualifiedName
;
public
class
TDLQualifiedNameConverter
extends
IQualifiedNameConverter
.
DefaultImpl
{
@Override
public
String
toString
(
QualifiedName
qualifiedName
)
{
if
(
qualifiedName
==
null
)
throw
new
IllegalArgumentException
(
"Qualified name cannot be null"
);
return
qualifiedName
.
getLastSegment
().
toString
();
}
}
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/scoping/TDLScopeProvider.java
View file @
612bf17e
...
...
@@ -272,6 +272,9 @@ public class TDLScopeProvider extends AbstractDeclarativeScopeProvider {
if
(((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()
instanceof
StructuredDataType
)
{
IScope
scope
=
Scopes
.
scopeFor
(((
StructuredDataType
)((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()).
allMembers
());
return
scope
;
}
else
if
(((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()
instanceof
StructuredDataInstance
)
{
IScope
scope
=
Scopes
.
scopeFor
(((
StructuredDataType
)
((
StructuredDataInstance
)((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()).
getDataType
()).
allMembers
());
return
scope
;
}
else
if
(((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()
instanceof
Action
)
{
IScope
scope
=
Scopes
.
scopeFor
(((
Action
)((
DataElementMapping
)
context
.
eContainer
()).
getMappableDataElement
()).
getFormalParameter
());
return
scope
;
...
...
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/transform/AbstractTranslator.java
View file @
612bf17e
package
org.etsi.mts.tdl.transform
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.TreeMap
;
import
java.util.function.Predicate
;
...
...
@@ -71,11 +73,13 @@ public abstract class AbstractTranslator {
public
String
cleanName
(
String
name
)
{
//TODO: use keywords filter?
if
(
name
.
equals
(
"Message"
)
||
name
.
equals
(
"Time"
)
||
name
.
equals
(
"type"
)
||
name
.
equals
(
"name"
)
||
name
.
equals
(
"instance"
)
||
name
.
equals
(
"size"
)
)
{
List
<
String
>
keywords
=
List
.
of
(
"Message"
,
"Time"
,
"Type"
,
"type"
,
"name"
,
"instance"
,
"size"
,
"component"
);
if
(
keywords
.
contains
(
name
))
{
name
=
"^"
+
name
;
}
name
=
name
.
replaceAll
(
"-"
,
"_"
)
.
replaceAll
(
" "
,
"_"
)
.
replaceAll
(
":"
,
"_"
)
.
replaceAll
(
"\\."
,
"_"
);
return
name
;
}
...
...
plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtxRuntimeModule.java
View file @
612bf17e
...
...
@@ -4,6 +4,8 @@
package
org.etsi.mts.tdl
;
import
org.eclipse.xtext.conversion.IValueConverterService
;
import
org.eclipse.xtext.naming.IQualifiedNameConverter
;
import
org.etsi.mts.tdl.scoping.TDLQualifiedNameConverter
;
/**
* Use this class to register components to be used at runtime / without the Equinox extension registry.
...
...
@@ -13,4 +15,8 @@ public class TDLtxRuntimeModule extends AbstractTDLtxRuntimeModule {
public
Class
<?
extends
IValueConverterService
>
bindIValueConverterService
()
{
return
EString2XtextConverter
.
class
;
}
public
Class
<?
extends
IQualifiedNameConverter
>
bindIQualifiedNameConverter
()
{
return
TDLQualifiedNameConverter
.
class
;
}
}