Newer
Older
/**
* @author STF 424_ITS_Test_Platform
* @version $id$
*/
package org.etsi.tool.elvior;
import java.math.BigInteger;
import org.elvior.ttcn.tritci.IntegerValueEx;
import org.elvior.ttcn.tritci.TciProvider;
import org.etsi.codec.ITciCDWrapper;
import org.etsi.ttcn.tci.FloatValue;
import org.etsi.ttcn.tci.IntegerValue;
import org.etsi.ttcn.tci.OctetstringValue;
import org.etsi.ttcn.tci.TciCDRequired;
import org.etsi.ttcn.tci.Type;
import org.etsi.ttcn.tci.Value;
/** This class implements the ITciCDWrapper interface
*
* Note that the TCI Codec Interface (TCI-CD) describes the operations a TTCN-3 Executable is required to implement and the operations a codec implementation for a certain encoding scheme shall provide to the TE
*
* See ETSI ES 201 873-6 V4.2.1 - Clause 7.3.2.1 TCI-CD required
*/
public class TciCDWrapper implements ITciCDWrapper {
private TciCDRequired _tciFactory = TciProvider.getInstance().getTciCDRequired();
public TciCDWrapper() {
// Nothing to do
}
@Override
public IntegerValue getInteger() {
return (IntegerValue)_tciFactory.getInteger().newInstance();
public IntegerValue getBigInteger(final BigInteger bigInt) {
System.out.println(">>> getBigInteger" + bigInt);
IntegerValueEx bi = (IntegerValueEx) _tciFactory.getTypeForName("org.elvior.ttcn.tritci.IntegerValueEx"); // FIXME To be solved with Janek
if (bi != null) {
System.out.println("getBigInteger: then");
System.out.println("getBigInteger: bi=" + bi);
return (IntegerValue)bi;
} else {
System.out.println("getBigInteger: else");
IntegerValue i = (IntegerValue) _tciFactory.getInteger().newInstance();
System.out.println("getBigInteger: i=" + i);
return i;
}
}
@Override
public OctetstringValue getOctetstring() {
return (OctetstringValue)_tciFactory.getOctetstring().newInstance();
}
@Override
public FloatValue getFloat() {
return (FloatValue)_tciFactory.getFloat().newInstance();
}
@Override
public Value getUnionValue(final Type decodingHypothesis, final String variantName) {
// System.out.println(">>> getUnionValue: " + decodingHypothesis.getName());
String variantTypeName = decodingHypothesis.getDefiningModule().getModuleName() + "." + decodingHypothesis.getName() + "." + variantName;
// System.out.println("getUnionValue: variantTypeName=" + variantTypeName);
Type variantType = _tciFactory.getTypeForName(variantTypeName);
if(variantType != null) {
// System.out.println("Variant Type name is: " + variantType.getName());
// String moduleBase = variantType.getDefiningModule().getBaseName();
// System.out.println("Variant Type DefiningModule.BaseName is: " + variantType.getName());
// String moduleObj = variantType.getDefiningModule().getModuleName();
// System.out.println("Variant Type DefiningModule.ModuleName is: " + variantType.getName());
Value testVal = variantType.newInstance();
if(testVal != null) {
// System.out.println("Variant value has been created.");
} else {
System.err.println("variantType is null");
}
return null;
}
@Override
public Type getTypeForName(final String type) {
return TciProvider.getInstance().getTciCDRequired().getTypeForName(type);
} // End of method getTypeForName
} // End of class TciCDWrapper