Comment #19 on issue 152 by [email protected]: Implement
insertSubscriberData MAP message
http://code.google.com/p/jss7/issues/detail?id=152
About the latest patch:
1. CauseValueCodeValue, LSAAttributes, LSAIdentity, Time:
let's put at the top of files quotations from specifications that describe
the intrenal structure of a primitive.
2. LSAAttributesImpl:
- we need "toString()" method
- lets create a "static private int" constants for masks like 0x0F, 0x10,
0x20 and so on
3. NAEACIC:
Internal structure is described in
ftp://ftp.3gpp2.org/Archive/TSGN%20(inactive)/Working/2001/2001_02_Chandler/Opening_Plenary/fyi%20T1%20Ballots/T1.113Ballot.pdf
in figures Figure 9/T1.113.3 and Figure 9A/T1.113.3 and in chapter "3.8A
Carrier Identification"
Let's implement it
4. NAEAPreferredCI, TimeImpl, CCBSIndicatorsImpl:
- we need "toString()" method
5. Time:
- I have not revised all details of your implementation, but may be better
to use for converting long->int->byte[] (and byte[]->int->long)
ByteBuffer.getInt() / putInt() methods. It is more elegant and more fast
6. ExtendedRoutingInfo:
- we need an extra unit test for CamelRoutingInfo choice
7. GroupId, LongGroupId:
replace
public GroupIdImpl() {
super(1, 3, "GroupId");
}
with
public GroupIdImpl() {
super(3, 3, "GroupId");
}
(+ other 3 cases) - minLength constructor parameter must be 3 or 4
8. VoiceBroadcastData, VoiceGroupCallData
- may be can acccept when encoding "this.groupId == null"
if "longGroupId!=null" and do not throw an exception?
- for unittests: lets provide two unittests:
one when groupId!=null and longGroupId==null
second when groupId==null and longGroupId!=null
(now you provide a test in testEncode() you use groupId!=null and
longGroupId!=null)
9. InsertSubscriberDataRequestImpl:
- let's remove TeleServiceCode, BearerServiceCode and Charging
Characteristics Flags from here. We have separate enums for this.
10. SendRoutingInformationRequestImpl:
- no unittests for MAP V3
- this test does not cover all parameters
11. SendRoutingInformationResponseImpl: this test does not cover all
parameters
to be continued ...