Comment #16 on issue 152 by [email protected]: Implement
insertSubscriberData MAP message
http://code.google.com/p/jss7/issues/detail?id=152
Hello!
1
CauseValue is consist of two values; CauseValue class and value within
the class.
Previously I thought of having two enums for CauseValue and Value within
the class and have another constructor which takes two enums as arguments.
But with the actual values and the names for those values I though of
having one enum instead of having two enums.
I vote for a single enum. We should have two constructirs: one with (int
data) parameter, another with (new enum) parameter
My second question is related to TBCD filler of GroupId and LongGroupId.
GroupID extends TBCDString and it contaisn two static method
(encodeString, decodeString).
Why those two methods are marked as static.
That is why they are used also from classes that does not inherit
TBCDString class.
To have TBCS filler I though of overriding these two methods if it is not
static.
The other solution I though is overriding encodeData and _decode method.
What would you suggest to solve this. Are there any alternative solutions
better than this.
For decoding: it looks like decodeString() just skip all fillers, so it is
well for GroupId.
For encoding: encodeString() does not add fillers into "OutputStream
asnOs", so we need something like it (+ some code for size==1, 0):
if(((AsnOutputStream)asnOs).size==2)asnOs.write(255);
To acheave it we need to override TBCDString.encodeData(AsnOutputStream
asnOs). We can also create a superclass for GroupId and LongGroupId that
implements it.