Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ITS - Intelligent Transport Systems
ITS
Commits
12dd8798
Commit
12dd8798
authored
Jul 27, 2016
by
garciay
Browse files
Add UT codec for IS
parent
c1323615
Changes
7
Hide whitespace changes
Inline
Side-by-side
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/Plugin.java
View file @
12dd8798
...
@@ -37,7 +37,7 @@ public class Plugin {
...
@@ -37,7 +37,7 @@ public class Plugin {
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSpatemEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSpatemEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemSpatemTrigger"
,
UtMapemSpatemTrigger
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemSpatemTrigger"
,
UtMapemSpatemTrigger
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemSpatemTriggerResult"
,
Ut
MapemSpatemTriggerResult
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtMapemSpatemTriggerResult"
,
Ut
Boolean
.
class
);
// IVIM
// IVIM
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimTrigger"
,
UtIvimTrigger
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimTrigger"
,
UtIvimTrigger
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimUpdate"
,
UtIvimUpdate
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimUpdate"
,
UtIvimUpdate
.
class
);
...
@@ -46,7 +46,10 @@ public class Plugin {
...
@@ -46,7 +46,10 @@ public class Plugin {
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimTriggerResult"
,
UtIvimTermination
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimTriggerResult"
,
UtIvimTermination
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimUpdateResult"
,
UtIvimTermination
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtIvimUpdateResult"
,
UtIvimTermination
.
class
);
// SREM/SSEM
// SREM/SSEM
// TODO
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSremEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSsemEventInd"
,
UtEventInd
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSremTrigger"
,
UtSremTrigger
.
class
);
cf
.
setCodec
(
TciTypeClass
.
RECORD
,
"UpperTester"
,
"UtSremTriggerResult"
,
UtBoolean
.
class
);
}
}
}
}
\ No newline at end of file
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTermination.java
View file @
12dd8798
...
@@ -4,9 +4,13 @@ import org.etsi.ttcn.codec.MainCodec;
...
@@ -4,9 +4,13 @@ import org.etsi.ttcn.codec.MainCodec;
public
class
UtIvimTermination
extends
UtRecord
{
public
class
UtIvimTermination
extends
UtRecord
{
public
UtIvimTermination
(
MainCodec
mainCodec
)
{
public
UtIvimTermination
(
MainCodec
mainCodec
)
{
super
(
mainCodec
);
super
(
mainCodec
);
// TODO Auto-generated constructor stub
setLengths
();
}
}
private
void
setLengths
()
{
mainCodec
.
setHint
(
"IviIdentificationNumberLen"
,
"16"
);
}
}
}
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimTrigger.java
View file @
12dd8798
package
org.etsi.ttcn.codec.its.uppertester
;
package
org.etsi.ttcn.codec.its.uppertester
;
import
java.util.HashMap
;
import
java.util.Map
;
import
org.etsi.ttcn.codec.CodecBuffer
;
import
org.etsi.ttcn.codec.IMarkerCallback
;
import
org.etsi.ttcn.codec.MainCodec
;
import
org.etsi.ttcn.codec.MainCodec
;
import
org.etsi.ttcn.tci.RecordValue
;
import
org.etsi.ttcn.tci.Type
;
import
org.etsi.ttcn.tci.Value
;
public
class
UtIvimTrigger
extends
UtRecord
implements
IMarkerCallback
{
private
byte
flags
=
0x00
;
public
UtIvimTrigger
(
MainCodec
mainCodec
)
{
super
(
mainCodec
);
}
@Override
public
Value
decode
(
CodecBuffer
buf
,
Type
decodingHypothesis
)
{
setLengths
();
return
super
.
decode
(
buf
,
decodingHypothesis
);
}
@Override
public
CodecBuffer
preEncode
(
Value
value
)
{
setLengths
();
CodecBuffer
buf
=
super
.
preEncode
(
value
);
CodecBuffer
bufFlags
=
new
CodecBuffer
();
bufFlags
.
setMarker
(
"flags"
,
0
,
this
);
buf
.
append
(
bufFlags
);
return
buf
;
}
private
void
setLengths
()
{
mainCodec
.
setHint
(
"TimestampItsLen"
,
"48"
);
}
public
class
UtIvimTrigger
extends
UtRecord
{
@Override
public
CodecBuffer
encode
(
Value
value
)
{
RecordValue
rv
=
(
RecordValue
)
value
;
String
[]
fields
=
rv
.
getFieldNames
();
CodecBuffer
buf
=
new
CodecBuffer
();
public
UtIvimTrigger
(
MainCodec
mainCodec
)
{
for
(
int
i
=
0
;
i
<
fields
.
length
;
i
++)
{
super
(
mainCodec
);
Value
fieldValue
=
rv
.
getField
(
fields
[
i
]);
// TODO Auto-generated constructor stub
if
(!
fieldValue
.
notPresent
())
{
}
CodecBuffer
fieldBuf
=
mainCodec
.
encode
(
fieldValue
);
postEncodeField
(
fields
[
i
],
fieldBuf
);
buf
.
append
(
fieldBuf
);
flags
=
(
byte
)
(
flags
|
(
PresenceFlag
.
value
(
fields
[
i
])).
byteValue
());
}
else
{
String
hint
=
mainCodec
.
getHint
(
fieldValue
.
getType
().
getName
()
+
"Len"
);
if
(
hint
!=
null
)
{
int
lengthInBits
=
java
.
lang
.
Integer
.
parseInt
(
hint
);
int
lengthInBytes
=
lengthInBits
/
8
+
(((
lengthInBits
%
8
)
>
0
)?
1
:
0
);
for
(
int
j
=
0
;
j
<
lengthInBytes
;
j
++)
{
buf
.
appendBytes
(
new
byte
[]{
0x00
});
}
}
}
}
return
buf
;
}
@Override
public
void
run
(
String
markerName
,
CodecBuffer
leftBuf
,
CodecBuffer
rightBuf
)
{
CodecBuffer
bufFlags
=
new
CodecBuffer
(
new
byte
[]
{
flags
});
bufFlags
.
append
(
rightBuf
);
rightBuf
.
setBytes
(
bufFlags
.
getBytes
());
}
private
enum
PresenceFlag
{
/* DenmTrigger*/
validFrom
(
0x80
),
validTo
(
0x40
),
repetitionInterval
(
0x20
),
/* Reserved */
reserved
(
0x00
);
private
byte
value
;
private
static
final
Map
<
String
,
Byte
>
PresenceFlags
=
new
HashMap
<
String
,
Byte
>();
private
PresenceFlag
(
int
value
)
{
this
.
value
=
(
byte
)
value
;
}
public
static
Byte
value
(
String
name
)
{
Byte
res
=
PresenceFlags
.
get
(
name
);
if
(
res
==
null
)
{
return
value
(
"reserved"
);
}
return
res
;
}
static
{
for
(
PresenceFlag
item
:
PresenceFlag
.
values
())
{
PresenceFlags
.
put
(
item
.
name
(),
new
Byte
(
item
.
value
));
}
}
}
}
}
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtIvimUpdate.java
View file @
12dd8798
package
org.etsi.ttcn.codec.its.uppertester
;
package
org.etsi.ttcn.codec.its.uppertester
;
import
java.util.HashMap
;
import
java.util.Map
;
import
org.etsi.ttcn.codec.CodecBuffer
;
import
org.etsi.ttcn.codec.IMarkerCallback
;
import
org.etsi.ttcn.codec.MainCodec
;
import
org.etsi.ttcn.codec.MainCodec
;
import
org.etsi.ttcn.tci.RecordValue
;
import
org.etsi.ttcn.tci.Type
;
import
org.etsi.ttcn.tci.Value
;
public
class
UtIvimUpdate
extends
UtRecord
implements
IMarkerCallback
{
private
byte
flags
=
0x00
;
public
UtIvimUpdate
(
MainCodec
mainCodec
)
{
super
(
mainCodec
);
}
@Override
public
Value
decode
(
CodecBuffer
buf
,
Type
decodingHypothesis
)
{
setLengths
();
return
super
.
decode
(
buf
,
decodingHypothesis
);
}
@Override
public
CodecBuffer
preEncode
(
Value
value
)
{
setLengths
();
CodecBuffer
buf
=
super
.
preEncode
(
value
);
CodecBuffer
bufFlags
=
new
CodecBuffer
();
bufFlags
.
setMarker
(
"flags"
,
0
,
this
);
buf
.
append
(
bufFlags
);
return
buf
;
}
private
void
setLengths
()
{
mainCodec
.
setHint
(
"TimestampItsLen"
,
"48"
);
}
public
class
UtIvimUpdate
extends
UtRecord
{
@Override
public
CodecBuffer
encode
(
Value
value
)
{
RecordValue
rv
=
(
RecordValue
)
value
;
String
[]
fields
=
rv
.
getFieldNames
();
CodecBuffer
buf
=
new
CodecBuffer
();
public
UtIvimUpdate
(
MainCodec
mainCodec
)
{
for
(
int
i
=
0
;
i
<
fields
.
length
;
i
++)
{
super
(
mainCodec
);
Value
fieldValue
=
rv
.
getField
(
fields
[
i
]);
// TODO Auto-generated constructor stub
if
(!
fieldValue
.
notPresent
())
{
}
CodecBuffer
fieldBuf
=
mainCodec
.
encode
(
fieldValue
);
postEncodeField
(
fields
[
i
],
fieldBuf
);
buf
.
append
(
fieldBuf
);
flags
=
(
byte
)
(
flags
|
(
PresenceFlag
.
value
(
fields
[
i
])).
byteValue
());
}
else
{
String
hint
=
mainCodec
.
getHint
(
fieldValue
.
getType
().
getName
()
+
"Len"
);
if
(
hint
!=
null
)
{
int
lengthInBits
=
java
.
lang
.
Integer
.
parseInt
(
hint
);
int
lengthInBytes
=
lengthInBits
/
8
+
(((
lengthInBits
%
8
)
>
0
)?
1
:
0
);
for
(
int
j
=
0
;
j
<
lengthInBytes
;
j
++)
{
buf
.
appendBytes
(
new
byte
[]{
0x00
});
}
}
}
}
return
buf
;
}
@Override
public
void
run
(
String
markerName
,
CodecBuffer
leftBuf
,
CodecBuffer
rightBuf
)
{
CodecBuffer
bufFlags
=
new
CodecBuffer
(
new
byte
[]
{
flags
});
bufFlags
.
append
(
rightBuf
);
rightBuf
.
setBytes
(
bufFlags
.
getBytes
());
}
private
enum
PresenceFlag
{
/* IvimUpdate */
validFrom
(
0x80
),
validTo
(
0x40
),
repetitionInterval
(
0x20
),
/* Reserved */
reserved
(
0x00
);
private
byte
value
;
private
static
final
Map
<
String
,
Byte
>
PresenceFlags
=
new
HashMap
<
String
,
Byte
>();
private
PresenceFlag
(
int
value
)
{
this
.
value
=
(
byte
)
value
;
}
public
static
Byte
value
(
String
name
)
{
Byte
res
=
PresenceFlags
.
get
(
name
);
if
(
res
==
null
)
{
return
value
(
"reserved"
);
}
return
res
;
}
static
{
for
(
PresenceFlag
item
:
PresenceFlag
.
values
())
{
PresenceFlags
.
put
(
item
.
name
(),
new
Byte
(
item
.
value
));
}
}
}
}
}
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtMapemSpatemTriggerResult.java
deleted
100644 → 0
View file @
c1323615
package
org.etsi.ttcn.codec.its.uppertester
;
import
org.etsi.ttcn.codec.MainCodec
;
public
class
UtMapemSpatemTriggerResult
extends
UtRecord
{
public
UtMapemSpatemTriggerResult
(
MainCodec
mainCodec
)
{
super
(
mainCodec
);
// TODO Auto-generated constructor stub
}
}
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtPduId.java
View file @
12dd8798
...
@@ -87,12 +87,26 @@ public enum UtPduId {
...
@@ -87,12 +87,26 @@ public enum UtPduId {
UtSec_setCertificate
(
0x93
),
UtSec_setCertificate
(
0x93
),
UtSec_setPrivateKey
(
0x94
),
UtSec_setPrivateKey
(
0x94
),
UtSec_setTrustPoint
(
0x95
),
UtSec_setTrustPoint
(
0x95
),
/* From LibItsMapSpat_TypesAndValues */
/* IS */
UtMapSpatTrigger
(
0xA0
),
/* From LibItsMapemSpatem_TypesAndValues */
UtMapSpatTriggerResult
(
0xA1
),
UtMapemSpatemTrigger
(
0xA0
),
UtMapEventInd
(
0xA2
),
UtMapemSpatemTriggerResult
(
0xA1
),
UtSpatEventInd
(
0xA3
),
UtMapemEventInd
(
0xA2
),
UtSpatemEventInd
(
0xA3
),
/* From LibItsIvim_TypesAndValues */
UtIvimTrigger
(
0xA4
),
UtIvimTriggerResult
(
0xA5
),
UtIvimUpdate
(
0xA6
),
UtIvimUpdateResult
(
0xA7
),
UtIvimTermination
(
0xA8
),
UtIvimTerminationResult
(
0xA9
),
UtIvimEventInd
(
0xAA
),
/* From LibItsSremSsem_TypesAndValues */
UtSremTrigger
(
0xAB
),
UtSremTriggerResult
(
0xAC
),
UtSremEventInd
(
0xAD
),
UtSsemEventInd
(
0xAE
),
/* Reserved */
/* Reserved */
reserved
(
0xFF
);
reserved
(
0xFF
);
...
...
javasrc/codec/org/etsi/ttcn/codec/its/uppertester/UtSremTrigger.java
0 → 100644
View file @
12dd8798
package
org.etsi.ttcn.codec.its.uppertester
;
import
org.etsi.ttcn.codec.MainCodec
;
public
class
UtSremTrigger
extends
UtRecord
{
public
UtSremTrigger
(
MainCodec
mainCodec
)
{
super
(
mainCodec
);
setLengths
();
}
private
void
setLengths
()
{
mainCodec
.
setHint
(
"BasicVehicleRole"
,
"8"
);
mainCodec
.
setHint
(
"RequestImportanceLevel"
,
"8"
);
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment