Index: adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java =================================================================== --- adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java (revision 1471) +++ adapter/org/etsi/its/adapter/ports/ProtocolPortFactory.java (working copy) @@ -37,7 +37,6 @@ ports.put("btpPort", BtpPort.class); ports.put("geoNetworkingPort", GnPort.class); ports.put("ipv6OverGeoNetworkingPort", Gn6Port.class); - ports.put("v2gPort", V2GPort.class); } /** Index: adapter/org/etsi/its/adapter/ports/V2GPort.java =================================================================== --- adapter/org/etsi/its/adapter/ports/V2GPort.java (revision 1471) +++ adapter/org/etsi/its/adapter/ports/V2GPort.java (working copy) @@ -75,7 +75,7 @@ role = ((CharstringValue)TERFactory.getInstance().getTaParameter("V2gTsRole")).getString(); v2gHost = ((CharstringValue)TERFactory.getInstance().getTaParameter("V2gSeccAddress")).getString(); //v2gPort = Integer.decode(((CharstringValue)TERFactory.getInstance().getTaParameter("V2gSeccPort")).getString()); - v2gPort = ((IntegerValue)TERFactory.getInstance().getTaParameter("V2gSeccPort")).getInt(); + v2gPort = ((IntegerValue)TERFactory.getInstance().getTaParameter("V2gSeccPort")).getInteger(); try { sdpPeerAddress = InetAddress.getByName("ff02::1"); } catch (UnknownHostException e1) { Index: adapter/org/etsi/its/adapter/TestAdapter.java =================================================================== --- adapter/org/etsi/its/adapter/TestAdapter.java (revision 1471) +++ adapter/org/etsi/its/adapter/TestAdapter.java (working copy) @@ -19,7 +19,6 @@ import org.etsi.its.adapter.ports.ProtocolPortFactory; import org.etsi.its.adapter.ports.UpperTesterPort; import org.etsi.ttcn.tci.CharstringValue; -import org.etsi.ttcn.tri.TriActionTemplate; import org.etsi.ttcn.tri.TriAddress; import org.etsi.ttcn.tri.TriAddressList; import org.etsi.ttcn.tri.TriCommunicationSA; @@ -70,10 +69,14 @@ return required.getTriStatus(TriStatus.TRI_OK); } + @Override + public TriStatus triExecuteTestCase(TriTestCaseId tcId, TriPortIdList portList) { + return triExecuteTestcase(tcId, portList); + } + /* (non-Javadoc) * @see org.etsi.ttcn.tri.TriCommunicationSA#triExecuteTestcase(org.etsi.ttcn.tri.TriTestCaseId, org.etsi.ttcn.tri.TriPortIdList) */ - @Override public TriStatus triExecuteTestcase(final TriTestCaseId tcId, final TriPortIdList portList) { return required.getTriStatus(TriStatus.TRI_OK); } @@ -296,14 +299,14 @@ return required.getTriStatus(TriStatus.TRI_ERROR, "triSutActionInformal not implemented"); } - /** - * triSutActionTemplate not implemented - * @see org.etsi.ttcn.tri.TriCommunicationSA#triSutActionTemplate(org.etsi.ttcn.tri.TriActionTemplate) - */ - @Override - public TriStatus triSutActionTemplate(TriActionTemplate templateValue) { - return required.getTriStatus(TriStatus.TRI_ERROR, "triSutActionTemplate not implemented"); - } +// /** +// * triSutActionTemplate not implemented +// * @see org.etsi.ttcn.tri.TriCommunicationSA#triSutActionTemplate(org.etsi.ttcn.tri.TriActionTemplate) +// */ +// @Override +// public TriStatus triSutActionTemplate(TriActionTemplate templateValue) { +// return required.getTriStatus(TriStatus.TRI_ERROR, "triSutActionTemplate not implemented"); +// } /** * triMapParam not implemented @@ -322,4 +325,21 @@ public TriStatus triUnmapParam(TriPortId compPortId, TriPortId tsiPortId, TriParameterList paramList) { return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); } + + @Override + public TriStatus triGetStreamValue(TriComponentId arg0, TriPortId arg1, + TriAddress arg2, TriMessage arg3) { + return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); + } + + @Override + public TriStatus triSetStreamValue(TriComponentId arg0, TriPortId arg1, + TriAddress arg2, TriMessage arg3) { + return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); + } + + @Override + public TriStatus triStaticMap(TriPortId arg0, TriPortId arg1) { + return required.getTriStatus(TriStatus.TRI_ERROR, "triUnmapParam not implemented"); + } } Index: codec/org/etsi/codec/ITciCDWrapper.java =================================================================== --- codec/org/etsi/codec/ITciCDWrapper.java (revision 1471) +++ codec/org/etsi/codec/ITciCDWrapper.java (working copy) @@ -27,9 +27,33 @@ * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger * @return An instance of Type representing a TTCN-3 integer type */ - public IntegerValue getInteger(); + public IntegerValue setInteger(final Integer value); /** + * Constructs and returns a basic TTCN-3 big integer type + * + * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger + * @return An instance of Type representing a TTCN-3 integer type + */ + public IntegerValue setInteger(final BigInteger value); + + /** + * Constructs and returns a basic integer type + * + * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger + * @return An instance of Type representing a TTCN-3 integer type + */ + public int getInteger(final IntegerValue iv); + + /** + * Constructs and returns a basic big integer type + * + * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger + * @return An instance of Type representing a TTCN-3 integer type + */ + public long/*TODO BigInteger*/ getBigInteger(final IntegerValue iv); + + /** * Constructs and returns a basic TTCN-3 octet string type * * See ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getOctetstring @@ -44,14 +68,6 @@ * @return An instance of Type representing a TTCN-3 float type */ public FloatValue getFloat(); - - /** - * Constructs and returns a basic TTCN-3 big integer type - * - * @see ETSI ES 201 873-6 V4.2.1 - 7.3.2.1.2 getInteger - * @return An instance of Type representing a TTCN-3 integer type - */ - IntegerValue getBigInteger(BigInteger bigInt); /** * Constructs and returns a basic TTCN-3 float type Index: codec/org/etsi/ttcn/codec/CodecFactory.java =================================================================== --- codec/org/etsi/ttcn/codec/CodecFactory.java (revision 1471) +++ codec/org/etsi/ttcn/codec/CodecFactory.java (working copy) @@ -61,7 +61,7 @@ org.etsi.ttcn.codec.its.uppertester.Plugin.init(); org.etsi.ttcn.codec.its.geonetworking.Plugin.init(); org.etsi.ttcn.codec.its.btp.Plugin.init(); - + org.etsi.ttcn.codec.its.security.Plugin.init(); } } Index: codec/org/etsi/ttcn/codec/generic/Integer.java =================================================================== --- codec/org/etsi/ttcn/codec/generic/Integer.java (revision 1471) +++ codec/org/etsi/ttcn/codec/generic/Integer.java (working copy) @@ -46,17 +46,17 @@ try { Matcher matcher = UNSIGNED_VARIANT.matcher(decodingHypothesis.getTypeEncodingVariant()); if(matcher.find()) { - // Unsigned integer - if(lengthInBits >= 32) { - iv.setBigInt(new BigInteger(1, value)); // /!\ ttwb specific + // Unsigned integer + if(lengthInBits >= java.lang.Integer.SIZE) { + iv = mainCodec.getTciCDRequired().setInteger(new BigInteger(1, value)); } else { - iv.setInt(ByteHelper.byteArrayToInt(value)); + iv = mainCodec.getTciCDRequired().setInteger(ByteHelper.byteArrayToInt(value)); } } else { // Signed integer - iv.setInt(ByteHelper.byteArrayToSignedInt(value, lengthInBits)); + iv.setInteger(ByteHelper.byteArrayToSignedInt(value, lengthInBits)); } } catch(Exception e) { @@ -87,10 +87,10 @@ // System.out.println(String.format("Integer.encode: length: %d", lengthInBytes)); if (lengthInBits > java.lang.Integer.SIZE) { - encoded = ByteHelper.longToByteArray(iv.getBigInt().longValue(), lengthInBytes); + encoded = ByteHelper.longToByteArray(mainCodec.getTciCDRequired().getBigInteger(iv), lengthInBytes); res.setBits(encoded, lengthInBits); } else { - encoded = ByteHelper.intToByteArray(iv.getInt(), lengthInBytes); + encoded = ByteHelper.intToByteArray(mainCodec.getTciCDRequired().getInteger(iv), lengthInBytes); res.setBits(encoded, lengthInBits); } res.setBits(encoded, lengthInBits); Index: codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java =================================================================== --- codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java (revision 1471) +++ codec/org/etsi/ttcn/codec/ipv6/Ipv6ExtHdr.java (working copy) @@ -27,7 +27,7 @@ protected void postDecodeField(String fieldName, CodecBuffer buf, Type decodingHypothesis, RecordValue rv) { if(fieldName.equals("hdrLen")) { - int len = ((IntegerValue)(rv.getField(fieldName))).getInt(); + int len = ((IntegerValue)(rv.getField(fieldName))).getInteger(); mainCodec.setHint("Ipv6ExtHdrLen", Integer.toString(len)); } } Index: codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java =================================================================== --- codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java (revision 1471) +++ codec/org/etsi/ttcn/codec/its/geonetworking/CommonHeader.java (working copy) @@ -39,7 +39,7 @@ } else if(fieldName.equals("plLength")) { - int pl = ((IntegerValue)(rv.getField(fieldName))).getInt(); + int pl = ((IntegerValue)(rv.getField(fieldName))).getInteger(); mainCodec.setHint("payloadLength", Integer.toString(pl)); } } Index: codec/org/etsi/ttcn/codec/its/security/Plugin.java =================================================================== --- codec/org/etsi/ttcn/codec/its/security/Plugin.java (revision 1471) +++ codec/org/etsi/ttcn/codec/its/security/Plugin.java (working copy) @@ -13,7 +13,6 @@ public static void init() { CodecFactory cf = CodecFactory.getInstance(); -// cf.setCodec(TciTypeClass.UNION, "LibItsSecurity", "LibItsSecurity", BtpHeader.class); -// cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "LibItsSecurity", Payload.class); + cf.setCodec(TciTypeClass.RECORD, "LibItsSecurity", "Payload", Payload.class); } } \ No newline at end of file Index: codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java =================================================================== --- codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java (revision 1471) +++ codec/org/etsi/ttcn/codec/lowpan/IphcHeader.java (working copy) @@ -126,7 +126,7 @@ } else if(fieldName.equals("inlineNextHeader")) { - int nh = ((IntegerValue)(rv.getField(fieldName))).getInt(); + int nh = ((IntegerValue)(rv.getField(fieldName))).getInteger(); mainCodec.setHint("Ipv6NextHeader", Integer.toString(nh)); if(nh == 0 || nh == 60 || nh == 43 || nh == 44) { mainCodec.setHint("ExtensionHeaderListMore", "true"); Index: codec/org/etsi/ttcn/codec/MainCodec.java =================================================================== --- codec/org/etsi/ttcn/codec/MainCodec.java (revision 1471) +++ codec/org/etsi/ttcn/codec/MainCodec.java (working copy) @@ -8,6 +8,7 @@ import java.util.Map; import java.util.TreeMap; +import org.etsi.codec.ITciCDWrapper; import org.etsi.ttcn.tri.TriMessage; import org.etsi.ttcn.tci.TciCDProvided; import org.etsi.ttcn.tci.TciCDRequired; @@ -16,9 +17,9 @@ public class MainCodec extends ICodec { - public MainCodec(TciCDRequired cdReq) { + public MainCodec(ITciCDWrapper _cdReq) { super(null); - this.cdReq = cdReq; + this.cdReq = _cdReq; } public Value triDecode(TriMessage message, Type decodingHypothesis) { @@ -97,11 +98,11 @@ presenceHints.put(key, value); } - public TciCDRequired getTciCDRequired() { + public ITciCDWrapper getTciCDRequired() { return cdReq; } protected Map hints = new TreeMap(); protected Map presenceHints = new TreeMap(); - protected TciCDRequired cdReq; + protected ITciCDWrapper cdReq; } Index: extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java =================================================================== --- extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java (revision 1471) +++ extfunc/org/etsi/its/extfunc/ItsExternalFunctionsProvider.java (working copy) @@ -79,24 +79,19 @@ String datestr="01/01/2004 00:00:00"; DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss"); - IntegerValue now = _tcicdWrapper.getInteger(); + IntegerValue now = null; try { -// System.out.println(String.format("fx_getCurrentTime: now:%d, 2004:%d", System.currentTimeMillis(), ((java.util.Date)formatter.parse(datestr)).getTime())); -// System.out.println("Diff: " + (int)(System.currentTimeMillis() - ((java.util.Date)formatter.parse(datestr)).getTime())); - now.setBigInt( + now = _tcicdWrapper.setInteger( new BigInteger( 1, - ByteHelper.longToByteArray( - System.currentTimeMillis() - ((java.util.Date)formatter.parse(datestr)).getTime(), - Long.SIZE / Byte.SIZE - ) + ByteHelper.longToByteArray(System.currentTimeMillis() - ((java.util.Date)formatter.parse(datestr)).getTime(), Long.SIZE / Byte.SIZE) ) ); } catch (ParseException e) { - now.setInt(0); + now = _tcicdWrapper.setInteger(0); } - _logger.exiting("ItsExternalFunctionsProvider", "fx_getCurrentTime", String.format("%10d", now.getInt())); + _logger.exiting("ItsExternalFunctionsProvider", "fx_getCurrentTime", String.format("%10d", now.getInteger())); return now; } // End of method fx_getCurrentTime @@ -122,17 +117,17 @@ final IntegerValue p_latitudeA, final IntegerValue p_longitudeA, final IntegerValue p_latitudeB, final IntegerValue p_longitudeB) { _logger.entering("ItsExternalFunctionsProvider", "fx_computeDistance", - String.format("%d, %d, %d, %d", p_latitudeA.getInt(), - p_longitudeA.getInt(), p_latitudeB.getInt(), - p_longitudeB.getInt())); + String.format("%d, %d, %d, %d", p_latitudeA.getInteger(), + p_longitudeA.getInteger(), p_latitudeB.getInteger(), + p_longitudeB.getInteger())); // Initialise the returned value FloatValue dist = _tcicdWrapper.getFloat(); - double dlat = (new Double(p_latitudeB.getInt()) - new Double( - p_latitudeA.getInt())) / 10000000; - double dlong = (new Double(p_longitudeB.getInt()) - new Double( - p_longitudeA.getInt())) / 10000000; + double dlat = (new Double(p_latitudeB.getInteger()) - new Double( + p_latitudeA.getInteger())) / 10000000; + double dlong = (new Double(p_longitudeB.getInteger()) - new Double( + p_longitudeA.getInteger())) / 10000000; long d = Math.round(Math.sqrt(Math.pow(dlat * rbis, 2) + Math.pow(dlong * rbis * Math.cos(dlat), 2))); @@ -172,17 +167,17 @@ _logger.entering( "ItsExternalFunctionsProvider", "fx_computePositionUsingDistance", - String.format("%d, %d", p_distance.getInt(), - p_orientation.getInt())); + String.format("%d, %d", p_distance.getInteger(), + p_orientation.getInteger())); - double angularD = new Double(p_distance.getInt()) / earthRadius; - double radHeading = new Double(p_orientation.getInt()) * Math.PI + double angularD = new Double(p_distance.getInteger()) / earthRadius; + double radHeading = new Double(p_orientation.getInteger()) * Math.PI / 180; // Convert to rad - double lat1 = (new Double(p_refLatitude.getInt()) / 10000000) + double lat1 = (new Double(p_refLatitude.getInteger()) / 10000000) * Math.PI / 180; - double long1 = (new Double(p_refLongitude.getInt()) / 10000000) + double long1 = (new Double(p_refLongitude.getInteger()) / 10000000) * Math.PI / 180; double lat2 = Math.asin(Math.sin(lat1) * Math.cos(angularD) @@ -200,8 +195,8 @@ long rlat2 = Math.round(lat2 * 10000000 / Math.PI * 180); long rlong2 = Math.round(long2 * 10000000 / Math.PI * 180); - p_latitude.setInt((int) rlat2); - p_longitude.setInt((int) rlong2); + p_latitude.setInteger((int) rlat2); + p_longitude.setInteger((int) rlong2); } // End of method fx_computePositionUsingDistance @@ -226,11 +221,14 @@ */ @Override public IntegerValue fx_computeGnTimestamp() { - - IntegerValue timestamp = _tcicdWrapper.getInteger(); - // /!\ ttwb specific - timestamp.setBigInt(new BigInteger(1, ByteHelper.longToByteArray(((System.currentTimeMillis() - ITS_REF_TIME) % (long)Math.pow(2,32)), 5))); + IntegerValue timestamp = _tcicdWrapper.setInteger( + new BigInteger( + 1, + ByteHelper.longToByteArray((System.currentTimeMillis() - ITS_REF_TIME) % (long)Math.pow(2,32), Long.SIZE / Byte.SIZE) + ) + ); + return timestamp; } @@ -305,11 +303,11 @@ try { // Upper-Layer Packet Length (32bits) pseudoheader.write(ByteHelper.intToByteArray( - p_payloadLength.getInt(), 4)); + p_payloadLength.getInteger(), 4)); // Checksum set to 0 (24bits) pseudoheader.write(ByteHelper.intToByteArray(0, 3)); // Next header (8bits) - pseudoheader.write((byte) p_nextHdr.getInt()); + pseudoheader.write((byte) p_nextHdr.getInteger()); } catch (IOException e) { e.printStackTrace(); }